
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

CURLcode socket_write(connectdata *conn,curl_socket_t fd,void *to,size_t len)

{
  anon_union_4_2_1ffdf146_for_data aVar1;
  int iVar2;
  undefined4 *puVar3;
  CURLcode CVar4;
  anon_union_4_2_1ffdf146_for_data aVar5;
  int iVar6;
  undefined4 *puVar7;
  Curl_easy *data;
  int *piVar8;
  curl_socket_t cVar9;
  anon_union_4_2_1ffdf146_for_data aVar10;
  anon_union_4_2_1ffdf146_for_data aVar11;
  anon_union_4_2_1ffdf146_for_data bytesfromsocket;
  char *pcVar12;
  anon_union_4_2_1ffdf146_for_data unaff_s1;
  int iVar13;
  anon_union_4_2_1ffdf146_for_data aVar14;
  int iVar15;
  connectdata *unaff_s2;
  anon_union_4_2_1ffdf146_for_data aVar16;
  curl_socket_t unaff_s3;
  anon_union_4_2_1ffdf146_for_data aVar17;
  undefined1 *puVar18;
  ssize_t *unaff_s4;
  anon_union_4_2_1ffdf146_for_data aVar19;
  undefined4 unaff_s5;
  curl_socklen_t cVar20;
  anon_union_4_2_1ffdf146_for_data aVar21;
  CURLcode CVar22;
  undefined *puVar23;
  code *pcVar24;
  anon_union_4_2_1ffdf146_for_data aVar25;
  undefined4 uVar26;
  code *pcVar27;
  anon_union_4_2_1ffdf146_for_data aStack_1d8;
  CURLcode CStack_1d4;
  int iStack_1d0;
  int iStack_1cc;
  anon_union_4_2_1ffdf146_for_data aStack_1c8;
  anon_union_4_2_1ffdf146_for_data aStack_1c4;
  anon_union_4_2_1ffdf146_for_data aStack_1c0;
  code *pcStack_1bc;
  anon_union_4_2_1ffdf146_for_data aStack_198;
  int *piStack_194;
  anon_union_4_2_1ffdf146_for_data aStack_18c;
  anon_union_4_2_1ffdf146_for_data aStack_188;
  anon_union_4_2_1ffdf146_for_data aStack_184;
  anon_union_4_2_1ffdf146_for_data aStack_180;
  anon_union_4_2_1ffdf146_for_data aStack_17c;
  curl_socklen_t cStack_178;
  anon_union_4_2_1ffdf146_for_data aStack_174;
  CURLcode CStack_170;
  code *pcStack_16c;
  code *pcStack_158;
  undefined1 *puStack_14c;
  Curl_easy *pCStack_148;
  anon_union_4_2_1ffdf146_for_data aStack_144;
  undefined1 auStack_140 [52];
  anon_union_4_2_1ffdf146_for_data aStack_10c;
  anon_union_4_2_1ffdf146_for_data aStack_104;
  anon_union_4_2_1ffdf146_for_data aStack_100;
  code *pcStack_fc;
  anon_union_4_2_1ffdf146_for_data aStack_f0;
  anon_union_4_2_1ffdf146_for_data aStack_ec;
  code *pcStack_e8;
  int iStack_e0;
  anon_union_4_2_1ffdf146_for_data aStack_dc;
  undefined4 *puStack_d8;
  anon_union_4_2_1ffdf146_for_data aStack_d4;
  anon_union_4_2_1ffdf146_for_data aStack_d0;
  anon_union_4_2_1ffdf146_for_data aStack_cc;
  anon_union_4_2_1ffdf146_for_data aStack_c8;
  code *pcStack_c4;
  anon_union_4_2_1ffdf146_for_data *paStack_b0;
  undefined *puStack_a8;
  anon_union_4_2_1ffdf146_for_data aStack_a0;
  anon_union_4_2_1ffdf146_for_data aStack_9c;
  int iStack_98;
  int iStack_94;
  char *pcStack_90;
  int iStack_8c;
  curl_socklen_t cStack_84;
  anon_union_4_2_1ffdf146_for_data aStack_80;
  undefined4 uStack_7c;
  anon_union_4_2_1ffdf146_for_data aStack_78;
  anon_union_4_2_1ffdf146_for_data aStack_74;
  anon_union_4_2_1ffdf146_for_data aStack_70;
  anon_union_4_2_1ffdf146_for_data aStack_6c;
  connectdata *pcStack_68;
  curl_socket_t cStack_64;
  ssize_t *psStack_60;
  undefined4 uStack_5c;
  ssize_t *in_stack_ffffffc8;
  ssize_t written;
  undefined4 *local_24;
  
  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;
  cVar9 = fd;
  aVar16 = (anon_union_4_2_1ffdf146_for_data)len;
  aVar5 = (anon_union_4_2_1ffdf146_for_data)len;
  if (len != 0) {
    unaff_s4 = &written;
    unaff_s5 = 0x51;
    unaff_s1.whatever = to;
    do {
      cVar9 = fd;
      to = unaff_s1.whatever;
      aVar16 = aVar5;
      in_stack_ffffffc8 = unaff_s4;
      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);
      unaff_s2 = conn;
      unaff_s3 = fd;
      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {
        unaff_s1.whatever = unaff_s1.whatever + written;
        aVar5.whatever = aVar5.whatever - written;
      }
      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)
      break;
      len = (size_t)aVar5;
      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;
    } while ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0);
  }
  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {
    return len;
  }
  puVar7 = local_24;
  puVar23 = PTR___stack_chk_fail_000b1c48;
  (*(code *)PTR___stack_chk_fail_000b1c48)();
  puStack_a8 = puVar23 + 0x78154;
  aStack_74 = (anon_union_4_2_1ffdf146_for_data)
              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))->result;
  aStack_a0 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66);
  *in_stack_ffffffc8 = 0;
  iVar13 = puVar7[0xb7];
  aVar17 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18);
  cVar20 = puVar7[0xbc];
  aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];
  aVar11 = aVar16;
  aStack_70 = aVar5;
  aStack_6c = unaff_s1;
  pcStack_68 = unaff_s2;
  cStack_64 = unaff_s3;
  psStack_60 = unaff_s4;
  uStack_5c = unaff_s5;
  aVar1.whatever = (void *)(**(code **)(puVar23 + 0x70618))(iVar13);
  aVar5 = aVar21;
  iVar2 = (*(code *)aVar17)(cVar20);
  aVar14.whatever = (void *)(iVar13 - iVar2);
  if ((int)aVar14.whatever < 1) {
    aVar14 = aVar16;
  }
  CVar22 = CURLE_OK;
  if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0
     ) {
    iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84;
    iStack_94 = *(int *)(puStack_a8 + -0x7fd4);
    aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0);
    pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94);
    iStack_8c = *(int *)(puStack_a8 + -0x7fd4);
    do {
      if (aVar16.whatever < aVar14.whatever) {
        aVar14 = aVar16;
      }
      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);
      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;
      aStack_78.whatever = (void *)0x0;
      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];
      aVar21 = aVar25;
      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==
          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {
        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);
        aVar21.result = CURLE_NOT_BUILT_IN;
        if ((iVar2 != 0) &&
           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {
          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];
        }
      }
      paStack_b0 = &aStack_80;
      aVar5.whatever = to;
      aVar11 = aVar21;
      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);
      aVar10 = aStack_a0;
      aStack_9c.whatever = aStack_80.whatever;
      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=
           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {
        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==
            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {
          uVar26 = *puVar7;
          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);
          paStack_b0 = &aStack_78;
          aVar11.whatever = &uStack_7c;
          aVar5 = aStack_9c;
          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);
          iVar2 = iStack_8c;
          aVar25 = aStack_a0;
          if (iVar13 != 0) {
            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);
            goto LAB_00041228;
          }
          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);
          if (aStack_78.whatever != (void *)0x0) {
            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==
                (anon_union_4_2_1ffdf146_for_data *)0x4) {
              iVar2 = *(int *)(puStack_a8 + -0x7fd4);
              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);
              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);
              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);
              data = (Curl_easy *)*puVar7;
              iVar2 = iVar2 + 0x6c7c;
            }
            else {
              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);
              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);
              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);
              data = (Curl_easy *)*puVar7;
              iVar2 = iVar2 + 0x6c74;
            }
                    /* WARNING: Subroutine does not return */
            Curl_infof(data,pcStack_90,iVar2,uStack_7c);
          }
        }
        else {
          cStack_84 = cVar20;
          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);
          aVar21 = aStack_80;
          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);
          aVar1 = aVar21;
          (*(code *)aVar17)(puVar7);
          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);
          aVar5 = aVar10;
        }
        (*(code *)*puVar3)(aStack_80.whatever);
      }
LAB_00041228:
      aVar16.whatever = aVar16.whatever - aVar14.whatever;
      to = (int)to + aVar14.whatever;
      CVar22 = CVar22 + aVar14.result;
    } while ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=
             (anon_union_4_2_1ffdf146_for_data *)0x0);
  }
  if ((anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever ==
      (anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c)) {
    return CVar22;
  }
  pcVar24 = *(code **)(puStack_a8 + -0x74c8);
  pcVar27 = socket_read;
  aVar25 = aStack_74;
  (*pcVar24)();
  pcStack_e8 = pcVar24 + 0x77d04;
  aStack_dc = (anon_union_4_2_1ffdf146_for_data)
              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))->whatever;
  aVar10 = aVar1;
  bytesfromsocket = aVar1;
  aVar19.whatever = to;
  puStack_d8 = puVar7;
  aStack_d4 = aVar14;
  aStack_d0 = aVar16;
  aStack_cc = aVar17;
  aStack_c8.whatever = to;
  pcStack_c4 = pcVar27;
  if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0)
  {
    aVar17.whatever = &iStack_e0;
    aVar19.result = CURLE_AGAIN;
    aVar14 = aVar5;
    do {
      aVar5 = aVar14;
      aVar10 = bytesfromsocket;
      aVar11.whatever = aVar17.whatever;
      aVar1.whatever =
           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,
                                   aVar17.whatever);
      aVar16 = aVar25;
      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==
          (anon_union_4_2_1ffdf146_for_data *)0x0) {
        aVar14.whatever = aVar14.whatever + iStack_e0;
        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;
      }
      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=
               (anon_union_4_2_1ffdf146_for_data *)0x51) break;
      aVar1 = bytesfromsocket;
      bytesfromsocket = aVar1;
    } while ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=
             (anon_union_4_2_1ffdf146_for_data *)0x0);
  }
  if ((anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever ==
      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c)) {
    return (CURLcode)aVar1.whatever;
  }
  pcVar24 = *(code **)(pcStack_e8 + -0x74c8);
  pcVar27 = ftp_send_command;
  aVar1 = aStack_dc;
  (*pcVar24)();
  pcStack_158 = pcVar24 + 0x77c28;
  aStack_10c = (anon_union_4_2_1ffdf146_for_data)
               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))->whatever;
  pCStack_148 = (Curl_easy *)0x0;
  aVar25.whatever = &aStack_f0;
  aStack_144.whatever = aVar25.whatever;
  aStack_104 = bytesfromsocket;
  aStack_100 = aVar14;
  pcStack_fc = pcVar27;
  aStack_f0 = aVar10;
  aStack_ec = aVar11;
  (**(code **)(pcVar24 + 0x70930))(auStack_140,0x32);
  aVar11.whatever = auStack_140;
  CVar4 = Curl_ftpsend(aVar1.result,auStack_140);
  if (CVar4 == CURLE_OK) {
    aVar5.whatever = &puStack_14c;
    aVar11 = aVar1;
    CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);
    if (CVar4 == CURLE_OK) goto LAB_00041574;
  }
  puStack_14c = &DAT_ffffffff;
LAB_00041574:
  if ((anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==
      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)) {
    return (CURLcode)puStack_14c;
  }
  pcVar24 = *(code **)(pcStack_158 + -0x74c8);
  pcVar27 = sec_recv;
  aVar14 = aStack_10c;
  (*pcVar24)();
  piStack_194 = (int *)**(undefined4 **)(pcVar24 + 0x70a00);
  aVar11.whatever =
       aVar14.whatever + (int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4;
                    /* WARNING: Load size is inaccurate */
  CVar4 = *aVar11.whatever;
  *(undefined4 *)pcStack_158 = 0;
  aVar10.whatever = auStack_140;
  aStack_1c4 = aVar1;
  aStack_18c.whatever = auStack_140;
  aStack_188 = aVar1;
  aStack_184 = aVar16;
  aStack_180 = aVar17;
  aStack_17c = aVar19;
  cStack_178 = cVar20;
  aStack_174 = aVar21;
  CStack_170 = CVar22;
  pcStack_16c = pcVar27;
  if ((((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||
     (aVar10 = aVar14,
     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)) {
    aVar21 = aVar25;
    aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4);
    aVar11 = aVar5;
    aVar14 = aVar10;
  }
  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {
    aVar16.whatever =
         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -
         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;
    if (aVar25.whatever < aVar16.whatever) {
      aVar16 = aVar25;
    }
    aVar11.whatever =
         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +
         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;
    aVar21 = aVar16;
    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);
    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =
         (undefined1 *)
         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +
         (int)aVar16.whatever);
    aVar25.whatever = aVar25.whatever - aVar16.whatever;
    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);
    aStack_1c4 = aVar16;
    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=
        (anon_union_4_2_1ffdf146_for_data *)0x0) {
      aVar5 = aVar16;
      aVar1 = aVar16;
      do {
        aVar21.result = CURLE_NOT_BUILT_IN;
        aVar11.whatever = &aStack_198;
        CVar22 = socket_read(CVar4,&aStack_198,4);
        aStack_1c4 = aVar5;
        if ((CVar22 != CURLE_OK) ||
           (aVar11 = aStack_198,
           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==
           (anon_union_4_2_1ffdf146_for_data *)0x0)) {
LAB_0004180c:
          aVar16.result = (CURLcode)&DAT_ffffffff;
          break;
        }
        aVar17.whatever =
             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->
                              whatever,aStack_198.result);
        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;
        aVar21 = aStack_198;
        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==
             (anon_union_4_2_1ffdf146_for_data *)0x0) ||
           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==
            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;
        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);
        aVar16.result = (CURLcode)&DAT_ffffffff;
        aVar11 = aVar17;
        if (CVar22 != CURLE_OK) break;
        aVar11 = (anon_union_4_2_1ffdf146_for_data)
                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;
        aVar21 = aStack_198;
        aVar16.whatever =
             (void *)(*((Curl_sec_client_mech *)
                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->
                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->
                               whatever,aVar11.whatever,aStack_198.result,
                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result
                               ,aVar14.whatever);
        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;
        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;
        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==
            (anon_union_4_2_1ffdf146_for_data *)0x0) {
          aVar16 = aVar5;
          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=
              (anon_union_4_2_1ffdf146_for_data *)0x0) {
            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =
                 CURLE_UNSUPPORTED_PROTOCOL;
          }
          break;
        }
        aVar5.result = aVar16.result;
        if (aVar25.whatever < aVar16.whatever) {
          aVar5 = aVar25;
        }
        aVar11 = (anon_union_4_2_1ffdf146_for_data)
                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;
        aVar21 = aVar5;
        (**(code **)(pcVar24 + 0x7090c))(puVar18);
        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =
             (undefined1 *)
             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +
             (int)aVar5.whatever);
        aVar25.whatever = aVar25.whatever - aVar5.whatever;
        aVar16.whatever = aVar1.whatever + aVar5.whatever;
        puVar18 = puVar18 + (int)aVar5.whatever;
        aStack_1c4 = aVar5;
        aVar1.whatever = aVar16.whatever;
      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=
               (anon_union_4_2_1ffdf146_for_data *)0x0);
    }
  }
  else {
    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;
    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;
    aVar21 = aVar5;
  }
  if (piStack_194 == (int *)**(undefined4 **)(pcVar24 + 0x70a00)) {
    return (CURLcode)aVar16.whatever;
  }
  pcVar24 = *(code **)(pcVar24 + 0x70674);
  pcVar27 = Curl_sec_read_msg;
  piVar8 = piStack_194;
  (*pcVar24)();
  iStack_1cc = **(int **)(pcVar24 + 0x70790);
  CStack_1d4 = CURLE_OK;
  iStack_1d0 = 0;
  aStack_1c8 = aVar14;
  aStack_1c0 = aVar25;
  pcStack_1bc = pcVar27;
  if (piVar8[0xbd] == 0) {
    CVar22 = ~CURLE_OK;
  }
  else {
    aVar16.whatever = &aStack_1d8;
    iVar2 = (**(code **)(pcVar24 + 0x6fda0))
                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),
                       aVar16.whatever,&iStack_1d0);
    if (iVar2 == 0) {
      if (iStack_1d0 == 0) {
        CVar22 = ~CURLE_OK;
        aVar11 = aVar16;
      }
      else if (iStack_1d0 < 0) {
        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);
        CVar22 = ~CURLE_OK;
        aVar11 = aVar16;
      }
      else {
        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();
        aVar16 = aStack_1d8;
        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))
                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);
        if (iVar2 < 1) {
          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);
          CVar22 = ~CURLE_OK;
          aVar11 = aVar16;
        }
        else {
          if (*(char *)(*piVar8 + 0x958) != '\0') {
            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;
            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;
            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1
                      );
          }
          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;
          if (iVar2 < 4) {
            CVar22 = CURLE_OK;
            aVar11 = aVar16;
          }
          else {
            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {
              (**(code **)(pcVar24 + 0x70494))
                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);
            }
            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);
            if (*pcVar12 == '\n') {
              *pcVar12 = '\0';
            }
            aVar16 = aStack_1d8;
            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);
            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);
            CVar22 = CStack_1d4;
            aVar11 = aVar16;
          }
        }
      }
    }
    else {
      CVar22 = ~CURLE_OK;
      aVar11 = aVar16;
    }
  }
  if (iStack_1cc != **(int **)(pcVar24 + 0x70790)) {
    pcVar24 = *(code **)(pcVar24 + 0x70404);
    iVar2 = iStack_1cc;
    (*pcVar24)();
    iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478;
    iVar13 = 0;
    do {
      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);
      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);
      if (iVar6 != 0) {
        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);
        if (iVar13 != 0) {
          *(int *)(iVar2 + 0x2d8) = iVar13;
          return CURLE_OK;
        }
        return ~CURLE_OK;
      }
      iVar13 = iVar13 + 1;
      iVar15 = iVar15 + 8;
    } while (iVar13 != 4);
    return ~CURLE_OK;
  }
  return CVar22;
}



/* WARNING: Type propagation algorithm not settling */

code ******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)

{
  code *******pppppppcVar1;
  int iVar2;
  code *******pppppppcVar3;
  undefined4 *puVar4;
  int iVar5;
  undefined4 *puVar6;
  int *piVar7;
  code *******pppppppcVar8;
  code *******pppppppcVar9;
  code *******pppppppcVar10;
  code *******unaff_s1;
  int iVar11;
  code *******pppppppcVar12;
  int iVar13;
  undefined4 unaff_s2;
  code *******pppppppcVar14;
  int unaff_s3;
  code *******pppppppcVar15;
  int *unaff_s4;
  undefined4 unaff_s5;
  code *******pppppppcVar16;
  code ******ppppppcVar17;
  code *******pppppppcVar18;
  code *******pppppppcVar19;
  undefined *puVar20;
  code *pcVar21;
  code *******pppppppcVar22;
  undefined4 uVar23;
  code *pcVar24;
  code *******pppppppcStack_1d8;
  code *******pppppppcStack_1d4;
  int iStack_1d0;
  int iStack_1cc;
  code *******pppppppcStack_1c8;
  code *******pppppppcStack_1c4;
  code *******pppppppcStack_1c0;
  code *pcStack_1bc;
  code *******pppppppcStack_1a8;
  code *pcStack_1a0;
  code *******pppppppcStack_198;
  int *piStack_194;
  code *******pppppppcStack_18c;
  code *******pppppppcStack_188;
  code *******pppppppcStack_184;
  code *******pppppppcStack_180;
  code *******pppppppcStack_17c;
  code *******pppppppcStack_178;
  code *******pppppppcStack_174;
  code *******pppppppcStack_170;
  undefined4 uStack_16c;
  code *pcStack_158;
  code *******pppppppcStack_14c;
  undefined4 uStack_148;
  code *******pppppppcStack_144;
  code ******appppppcStack_140 [13];
  code *******pppppppcStack_10c;
  code *******pppppppcStack_104;
  code *******pppppppcStack_100;
  code *pcStack_fc;
  code *******pppppppcStack_f0;
  code *******pppppppcStack_ec;
  code *pcStack_e8;
  code ******ppppppcStack_e0;
  code *******pppppppcStack_dc;
  undefined4 *puStack_d8;
  code *******pppppppcStack_d4;
  code *******pppppppcStack_d0;
  code *******pppppppcStack_cc;
  code *******pppppppcStack_c8;
  code *pcStack_c4;
  code *******local_b0;
  undefined *local_a8;
  code *******local_a0;
  code *******local_9c;
  int local_98;
  int local_94;
  code *******local_90;
  code *******local_8c;
  code *******local_84;
  code *******local_80;
  code *******local_7c;
  code ******local_78;
  code *******local_74;
  code *******local_70;
  code *******local_6c;
  undefined4 local_68;
  int local_64;
  int *local_60;
  undefined4 local_5c;
  int *local_38;
  int local_28;
  undefined4 *local_24;
  
  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;
  iVar2 = param_2;
  pppppppcVar14 = param_4;
  pppppppcVar9 = param_4;
  if (param_4 != (code *******)0x0) {
    unaff_s4 = &local_28;
    unaff_s5 = 0x51;
    unaff_s1 = param_3;
    do {
      iVar2 = param_2;
      param_3 = unaff_s1;
      pppppppcVar14 = pppppppcVar9;
      param_4 = (code *******)FUN_000277f4(param_1);
      unaff_s2 = param_1;
      unaff_s3 = param_2;
      local_38 = unaff_s4;
      if (param_4 == (code *******)0x0) {
        unaff_s1 = (code *******)((int)unaff_s1 + local_28);
        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);
      }
      else if (param_4 != (code *******)0x51) break;
      param_4 = pppppppcVar9;
      pppppppcVar9 = param_4;
    } while (param_4 != (code *******)0x0);
  }
  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {
    return param_4;
  }
  puVar6 = local_24;
  puVar20 = PTR___stack_chk_fail_000b1c48;
  (*(code *)PTR___stack_chk_fail_000b1c48)();
  local_a8 = puVar20 + 0x78154;
  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);
  local_a0 = (code *******)puVar6[iVar2 + 0x66];
  *local_38 = 0;
  iVar11 = puVar6[0xb7];
  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);
  pppppppcVar16 = (code *******)puVar6[0xbc];
  pppppppcVar18 = (code *******)puVar6[0xb5];
  pppppppcVar3 = pppppppcVar14;
  local_70 = pppppppcVar9;
  local_6c = unaff_s1;
  local_68 = unaff_s2;
  local_64 = unaff_s3;
  local_60 = unaff_s4;
  local_5c = unaff_s5;
  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);
  pppppppcVar9 = pppppppcVar18;
  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);
  pppppppcVar12 = (code *******)(iVar11 - iVar2);
  if ((int)pppppppcVar12 < 1) {
    pppppppcVar12 = pppppppcVar14;
  }
  pppppppcVar19 = (code *******)0x0;
  if (pppppppcVar14 != (code *******)0x0) {
    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;
    local_94 = *(int *)(local_a8 + -0x7fd4);
    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);
    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);
    local_8c = *(code ********)(local_a8 + -0x7fd4);
    do {
      if (pppppppcVar14 < pppppppcVar12) {
        pppppppcVar12 = pppppppcVar14;
      }
      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);
      local_80 = (code *******)0x0;
      local_78 = (code ******)0x0;
      pppppppcVar22 = (code *******)puVar6[0xb5];
      pppppppcVar18 = pppppppcVar22;
      if (pppppppcVar22 == (code *******)&DAT_00000005) {
        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);
        pppppppcVar18 = (code *******)0x4;
        if ((iVar2 != 0) &&
           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {
          pppppppcVar18 = (code *******)puVar6[0xb4];
        }
      }
      local_b0 = (code *******)&local_80;
      pppppppcVar9 = param_3;
      pppppppcVar3 = pppppppcVar18;
      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);
      pppppppcVar8 = local_a0;
      local_9c = local_80;
      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {
        if (pppppppcVar22 == (code *******)&DAT_00000005) {
          uVar23 = *puVar6;
          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);
          local_b0 = &local_78;
          pppppppcVar3 = (code *******)&local_7c;
          pppppppcVar8 = local_9c;
          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);
          pppppppcVar22 = local_8c;
          pppppppcVar9 = local_a0;
          if (iVar2 != 0) {
            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);
            pppppppcVar9 = pppppppcVar8;
            goto LAB_00041228;
          }
          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);
          if (local_78 != (code ******)0x0) {
            if (pppppppcVar18 == (code *******)0x4) {
              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);
              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);
              uVar23 = *puVar6;
              pppppppcVar1 = pppppppcVar16 + 0x1b1f;
            }
            else {
              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);
              uVar23 = *puVar6;
              pppppppcVar1 = pppppppcVar22 + 0x1b1d;
              pppppppcVar16 = pppppppcVar9;
              pppppppcVar9 = pppppppcVar22;
            }
            pppppppcVar8 = local_90;
            pppppppcVar3 = local_7c;
            FUN_00027444(uVar23);
            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);
            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);
            pppppppcVar18 = pppppppcVar9;
          }
        }
        else {
          local_84 = pppppppcVar16;
          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);
          pppppppcVar18 = local_80;
          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);
          pppppppcVar1 = pppppppcVar18;
          (*(code *)pppppppcVar15)(puVar6);
          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);
        }
        (*(code *)*puVar4)(local_80);
        pppppppcVar9 = pppppppcVar8;
      }
LAB_00041228:
      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);
      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);
      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);
    } while (pppppppcVar14 != (code *******)0x0);
  }
  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {
    return pppppppcVar19;
  }
  pcVar21 = *(code **)(local_a8 + -0x74c8);
  pcVar24 = FUN_0004140c;
  pppppppcVar22 = local_74;
  (*pcVar21)();
  pcStack_e8 = pcVar21 + 0x77d04;
  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);
  pppppppcVar8 = pppppppcVar1;
  pppppppcVar10 = pppppppcVar1;
  puStack_d8 = puVar6;
  pppppppcStack_d4 = pppppppcVar12;
  pppppppcStack_d0 = pppppppcVar14;
  pppppppcStack_cc = pppppppcVar15;
  pppppppcStack_c8 = param_3;
  pcStack_c4 = pcVar24;
  if (pppppppcVar1 != (code *******)0x0) {
    pppppppcVar15 = &ppppppcStack_e0;
    param_3 = (code *******)0x51;
    pppppppcVar12 = pppppppcVar9;
    do {
      pppppppcVar9 = pppppppcVar12;
      pppppppcVar8 = pppppppcVar10;
      pppppppcVar3 = pppppppcVar15;
      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);
      pppppppcVar14 = pppppppcVar22;
      if (pppppppcVar1 == (code *******)0x0) {
        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);
        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);
      }
      else if (pppppppcVar1 != (code *******)0x51) break;
      pppppppcVar1 = pppppppcVar10;
      pppppppcVar10 = pppppppcVar1;
    } while (pppppppcVar1 != (code *******)0x0);
  }
  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {
    return pppppppcVar1;
  }
  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);
  pcVar24 = FUN_000414e8;
  pppppppcVar1 = pppppppcStack_dc;
  (*pcVar21)();
  pcStack_158 = pcVar21 + 0x77c28;
  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);
  uStack_148 = 0;
  pppppppcVar22 = (code *******)&pppppppcStack_f0;
  pppppppcStack_144 = pppppppcVar22;
  pppppppcStack_104 = pppppppcVar10;
  pppppppcStack_100 = pppppppcVar12;
  pcStack_fc = pcVar24;
  pppppppcStack_f0 = pppppppcVar8;
  pppppppcStack_ec = pppppppcVar3;
  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);
  pppppppcVar3 = appppppcStack_140;
  iVar2 = FUN_0002f228(pppppppcVar1);
  if (iVar2 == 0) {
    pppppppcVar9 = (code *******)&pppppppcStack_14c;
    pppppppcVar3 = pppppppcVar1;
    iVar2 = FUN_0002c44c(&uStack_148);
    if (iVar2 == 0) goto LAB_00041574;
  }
  pppppppcStack_14c = (code *******)0xffffffff;
LAB_00041574:
  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {
    return pppppppcStack_14c;
  }
  pcVar21 = *(code **)(pcStack_158 + -0x74c8);
  uVar23 = 0x415d4;
  pppppppcVar12 = pppppppcStack_10c;
  (*pcVar21)();
  pcStack_1a0 = pcVar21 + 0x77b3c;
  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);
  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];
  *(undefined4 *)pcStack_158 = 0;
  pppppppcVar8 = appppppcStack_140;
  pppppppcStack_1c4 = pppppppcVar1;
  pppppppcStack_18c = appppppcStack_140;
  pppppppcStack_188 = pppppppcVar1;
  pppppppcStack_184 = pppppppcVar14;
  pppppppcStack_180 = pppppppcVar15;
  pppppppcStack_17c = param_3;
  pppppppcStack_178 = pppppppcVar16;
  pppppppcStack_174 = pppppppcVar18;
  pppppppcStack_170 = pppppppcVar19;
  uStack_16c = uVar23;
  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||
     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {
    pppppppcVar1 = pppppppcVar22;
    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);
    pppppppcVar18 = pppppppcVar9;
    pppppppcVar12 = pppppppcVar8;
  }
  else if (pppppppcVar12[0xbb] == (code ******)0x0) {
    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);
    if (pppppppcVar22 < pppppppcVar14) {
      pppppppcVar14 = pppppppcVar22;
    }
    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);
    pppppppcVar1 = pppppppcVar14;
    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);
    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);
    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);
    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);
    pppppppcStack_1c4 = pppppppcVar14;
    if (pppppppcVar22 != (code *******)0x0) {
      pppppppcVar9 = pppppppcVar14;
      pppppppcVar3 = pppppppcVar14;
      do {
        pppppppcVar1 = (code *******)0x4;
        pppppppcVar18 = (code *******)&pppppppcStack_198;
        iVar2 = FUN_0004140c(ppppppcVar17);
        pppppppcStack_1c4 = pppppppcVar9;
        if ((iVar2 != 0) ||
           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {
LAB_0004180c:
          pppppppcVar14 = (code *******)0xffffffff;
          break;
        }
        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);
        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;
        pppppppcVar1 = pppppppcStack_198;
        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))
        goto LAB_0004180c;
        iVar2 = FUN_0004140c(ppppppcVar17);
        pppppppcVar14 = (code *******)0xffffffff;
        pppppppcVar18 = pppppppcVar15;
        if (iVar2 != 0) break;
        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];
        pppppppcVar1 = pppppppcStack_198;
        pppppppcStack_1a8 = pppppppcVar12;
        pppppppcVar14 =
             (code *******)
             (*(code *)pppppppcVar12[0xbd][8])
                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);
        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;
        pppppppcVar12[0xba] = (code ******)0x0;
        if (pppppppcVar14 == (code *******)0x0) {
          pppppppcVar14 = pppppppcVar9;
          if (pppppppcVar9 != (code *******)0x0) {
            pppppppcVar12[0xbb] = (code ******)0x1;
          }
          break;
        }
        pppppppcVar9 = pppppppcVar14;
        if (pppppppcVar22 < pppppppcVar14) {
          pppppppcVar9 = pppppppcVar22;
        }
        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];
        pppppppcVar1 = pppppppcVar9;
        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);
        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);
        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);
        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);
        pcVar21 = pcVar21 + (int)pppppppcVar9;
        pppppppcStack_1c4 = pppppppcVar9;
        pppppppcVar3 = pppppppcVar14;
      } while (pppppppcVar22 != (code *******)0x0);
    }
  }
  else {
    pppppppcVar12[0xbb] = (code ******)0x0;
    pppppppcVar14 = (code *******)0x0;
    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);
    pppppppcVar1 = pppppppcVar9;
  }
  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {
    return pppppppcVar14;
  }
  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);
  pcVar24 = FUN_00041844;
  piVar7 = piStack_194;
  (*pcVar21)();
  iStack_1cc = **(int **)(pcVar21 + 0x70790);
  pppppppcStack_1d4 = (code *******)0x0;
  iStack_1d0 = 0;
  pppppppcStack_1c8 = pppppppcVar12;
  pppppppcStack_1c0 = pppppppcVar22;
  pcStack_1bc = pcVar24;
  if (piVar7[0xbd] == 0) {
    pppppppcVar14 = (code *******)0xffffffff;
  }
  else {
    pppppppcVar9 = (code *******)&pppppppcStack_1d8;
    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);
    if (iVar2 == 0) {
      if (iStack_1d0 == 0) {
        pppppppcVar14 = (code *******)0xffffffff;
        pppppppcVar18 = pppppppcVar9;
      }
      else if (iStack_1d0 < 0) {
        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);
        pppppppcVar14 = (code *******)0xffffffff;
        pppppppcVar18 = pppppppcVar9;
      }
      else {
        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();
        pppppppcVar9 = pppppppcStack_1d8;
        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))
                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);
        if (iVar2 < 1) {
          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);
          pppppppcVar14 = (code *******)0xffffffff;
          pppppppcVar18 = pppppppcVar9;
        }
        else {
          if (*(char *)(*piVar7 + 0x958) != '\0') {
            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;
            pppppppcVar9 = (code *******)0x1;
            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);
          }
          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;
          if (iVar2 < 4) {
            pppppppcVar14 = (code *******)0x0;
            pppppppcVar18 = pppppppcVar9;
          }
          else {
            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {
              (**(code **)(pcVar21 + 0x70494))
                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);
            }
            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);
            if (*pcVar24 == (code)0xa) {
              *pcVar24 = (code)0x0;
            }
            pppppppcVar9 = pppppppcStack_1d8;
            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);
            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);
            pppppppcVar14 = pppppppcStack_1d4;
            pppppppcVar18 = pppppppcVar9;
          }
        }
      }
    }
    else {
      pppppppcVar14 = (code *******)0xffffffff;
      pppppppcVar18 = pppppppcVar9;
    }
  }
  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {
    pcVar21 = *(code **)(pcVar21 + 0x70404);
    iVar2 = iStack_1cc;
    (*pcVar21)();
    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;
    iVar11 = 0;
    do {
      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);
      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);
      if (iVar5 != 0) {
        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);
        if (iVar11 != 0) {
          *(int *)(iVar2 + 0x2d8) = iVar11;
          return (code *******)0x0;
        }
        return (code *******)0xffffffff;
      }
      iVar11 = iVar11 + 1;
      iVar13 = iVar13 + 8;
    } while (iVar11 != 4);
    return (code *******)0xffffffff;
  }
  return pppppppcVar14;
}


lui gp,0x8
addiu gp,gp,-0x7dc0
addu gp,gp,t9
addiu sp,sp,-0x48
sw ra,0x44(sp)
sw s5,0x40(sp)
sw s4,0x3c(sp)
sw s3,0x38(sp)
sw s2,0x34(sp)
sw s1,0x30(sp)
sw s0,0x2c(sp)
sw gp,0x18(sp)
or s0,a3,zero
lw v0,-0x713c(gp)
lw v0,0x0(v0)
sw v0,0x24(sp)
beq a3,zero,0x00040f38
_or v0,a3,zero
or s2,a0,zero
or s3,a1,zero
or s1,a2,zero
addiu s4,sp,0x20
b 0x00040f74
_li s5,0x51
beq v0,s5,0x00040f6c
_nop
lw a0,0x24(sp)
lw v1,-0x713c(gp)
lw v1,0x0(v1)
bne a0,v1,0x00040fb0
_lw ra,0x44(sp)
lw s5,0x40(sp)
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x48
beq s0,zero,0x00040f38
_or v0,s0,zero
sw s4,0x10(sp)
or a3,s0,zero
or a2,s1,zero
or a1,s3,zero
or a0,s2,zero
lw t9,-0x7b40(gp)
bal 0x000277f4
_nop
lw gp,0x18(sp)
bne v0,zero,0x00040f30
_nop
lw v0,0x20(sp)
subu s0,s0,v0
b 0x00040f6c
_addu s1,s1,v0
lw t9,-0x74c8(gp)
jalr t9
_nop
lui gp,0x8
addiu gp,gp,-0x7eac
addu gp,gp,t9
addiu sp,sp,-0x78
sw ra,0x74(sp)
sw s8,0x70(sp)
sw s7,0x6c(sp)
sw s6,0x68(sp)
sw s5,0x64(sp)
sw s4,0x60(sp)
sw s3,0x5c(sp)
sw s2,0x58(sp)
sw s1,0x54(sp)
sw s0,0x50(sp)
sw gp,0x18(sp)
or s0,a0,zero
or s4,a2,zero
or s2,a3,zero
lw v0,-0x713c(gp)
lw v0,0x0(v0)
sw v0,0x4c(sp)
addiu a1,a1,0x66
sll a1,a1,0x2
addu a1,a0,a1
lw v0,0x0(a1)
sw v0,0x20(sp)
lw v0,0x88(sp)
sw zero,0x0(v0)
lw s1,0x2dc(a0)
lw v0,0x2f4(a0)
lw s3,0x18(v0)
lw s5,0x2f0(a0)
lw s6,0x2d4(a0)
or a0,s1,zero
lw t9,-0x7b3c(gp)
jalr t9
_nop
lw gp,0x18(sp)
or a2,v0,zero
or a1,s6,zero
or a0,s5,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
subu s1,s1,v0
blez s1,0x000410b8
_nop
beq s2,zero,0x000413bc
_or s7,zero,zero
lw v0,-0x7fd4(gp)
addiu v0,v0,0x6c84
sw v0,0x28(sp)
lw v0,-0x7fd4(gp)
sw v0,0x2c(sp)
lw s3,-0x7be0(gp)
addiu s3,s3,0xed0
lw v0,-0x7fd4(gp)
addiu v0,v0,0x6c94
sw v0,0x30(sp)
lw v0,-0x7fd4(gp)
b 0x00041234
_sw v0,0x34(sp)
b 0x0004107c
_or s1,s2,zero
li a2,0x5
lw a1,0x28(sp)
or a0,s4,zero
lw t9,-0x7588(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x0004126c
_li s6,0x4
li a2,0x5
lw v0,0x2c(sp)
addiu a1,v0,0x6c8c
or a0,s4,zero
lw t9,-0x7588(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x0004126c
_nop
b 0x0004126c
_lw s6,0x2d0(s0)
lw v0,-0x7fcc(gp)
lw t9,0x0(v0)
lw a0,0x40(sp)
jalr t9
_nop
lw gp,0x18(sp)
b 0x00041228
_subu s2,s2,s1
lw s5,-0x7fd4(gp)
addiu a2,s5,0x6c7c
lw s6,0x20(sp)
or a1,s6,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
lw a3,0x48(sp)
lw a2,0x44(sp)
or a1,s6,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
li a3,0x2
lw a2,-0x7fd4(gp)
addiu a2,a2,0x29c4
or a1,s6,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
lw a0,0x0(s0)
b 0x00041384
_addiu a2,s5,0x6c7c
sw s5,0x3c(sp)
addiu a2,sp,0x3c
lw s8,0x20(sp)
or a1,s8,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
lw s6,0x40(sp)
or a0,s5,zero
lw t9,-0x7b38(gp)
jalr t9
_nop
lw gp,0x18(sp)
or a3,v0,zero
or a2,s6,zero
or a1,s8,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
lw v0,-0x7fcc(gp)
lw t9,0x0(v0)
lw a0,0x40(sp)
jalr t9
_nop
lw gp,0x18(sp)
subu s2,s2,s1
addu s4,s4,s1
beq s2,zero,0x000413bc
_addu s7,s7,s1
sltu v0,s2,s1
movn s1,s2,v0
or a0,s1,zero
lw t9,-0x7b3c(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s5,v0,zero
sw zero,0x40(sp)
sw zero,0x48(sp)
lw s8,0x2d4(s0)
li v0,0x5
beq s8,v0,0x000410c0
_or s6,s8,zero
lw v0,0x2f4(s0)
addiu v1,sp,0x40
sw v1,0x10(sp)
lw t9,0x1c(v0)
or a3,s6,zero
or a2,s5,zero
or a1,s4,zero
lw a0,0x2f0(s0)
jalr t9
_nop
lw gp,0x18(sp)
or s5,v0,zero
lw v0,0x40(sp)
beq v0,zero,0x00041224
_sw v0,0x24(sp)
blez s5,0x00041224
_li v0,0x5
bne s8,v0,0x000411b0
_li a3,0x4
lw s8,0x0(s0)
or a0,s5,zero
lw t9,-0x7b38(gp)
jalr t9
_nop
lw gp,0x18(sp)
addiu v1,sp,0x48
sw v1,0x10(sp)
addiu a3,sp,0x44
or a2,v0,zero
lw a1,0x24(sp)
or a0,s8,zero
lw t9,-0x7e58(gp)
jalr t9
_nop
lw gp,0x18(sp)
bne v0,zero,0x0004111c
_lw v0,0x48(sp)
beq v0,zero,0x00041210
_lw v0,-0x7fcc(gp)
li v0,0x4
beq s6,v0,0x0004113c
_li a3,0x4
lw s6,0x34(sp)
addiu a2,s6,0x6c74
lw s5,0x20(sp)
or a1,s5,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
lw a3,0x48(sp)
lw a2,0x44(sp)
or a1,s5,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
li a3,0x2
lw a2,-0x7fd4(gp)
addiu a2,a2,0x29c4
or a1,s5,zero
or a0,s0,zero
or t9,s3,zero
jalr t9
_nop
lw gp,0x18(sp)
lw a0,0x0(s0)
addiu a2,s6,0x6c74
lw a3,0x44(sp)
lw a1,0x30(sp)
lw t9,-0x7f64(gp)
bal 0x00027444
_nop
lw gp,0x18(sp)
lw v0,-0x7fcc(gp)
lw t9,0x0(v0)
lw a0,0x44(sp)
jalr t9
_nop
lw gp,0x18(sp)
b 0x00041210
_lw v0,-0x7fcc(gp)
or v0,s7,zero
lw a0,0x4c(sp)
lw v1,-0x713c(gp)
lw v1,0x0(v1)
bne a0,v1,0x00041400
_lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
lw t9,-0x74c8(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\ncode ******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)\n\n{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}\n\n" comment (function_definition "code ******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)\n\n{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}" type_identifier (pointer_declarator "******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "****** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "***** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "**** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "*** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (function_declarator "FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" identifier (parameter_list "(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "code *******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" * (pointer_declarator "*param_3" * identifier)))))))) , (parameter_declaration "code *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) )))))))))) (compound_statement "{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}" { (declaration "code *******pppppppcVar1;" type_identifier (pointer_declarator "*******pppppppcVar1" * (pointer_declarator "******pppppppcVar1" * (pointer_declarator "*****pppppppcVar1" * (pointer_declarator "****pppppppcVar1" * (pointer_declarator "***pppppppcVar1" * (pointer_declarator "**pppppppcVar1" * (pointer_declarator "*pppppppcVar1" * identifier))))))) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "code *******pppppppcVar3;" type_identifier (pointer_declarator "*******pppppppcVar3" * (pointer_declarator "******pppppppcVar3" * (pointer_declarator "*****pppppppcVar3" * (pointer_declarator "****pppppppcVar3" * (pointer_declarator "***pppppppcVar3" * (pointer_declarator "**pppppppcVar3" * (pointer_declarator "*pppppppcVar3" * identifier))))))) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "code *******pppppppcVar8;" type_identifier (pointer_declarator "*******pppppppcVar8" * (pointer_declarator "******pppppppcVar8" * (pointer_declarator "*****pppppppcVar8" * (pointer_declarator "****pppppppcVar8" * (pointer_declarator "***pppppppcVar8" * (pointer_declarator "**pppppppcVar8" * (pointer_declarator "*pppppppcVar8" * identifier))))))) ;) (declaration "code *******pppppppcVar9;" type_identifier (pointer_declarator "*******pppppppcVar9" * (pointer_declarator "******pppppppcVar9" * (pointer_declarator "*****pppppppcVar9" * (pointer_declarator "****pppppppcVar9" * (pointer_declarator "***pppppppcVar9" * (pointer_declarator "**pppppppcVar9" * (pointer_declarator "*pppppppcVar9" * identifier))))))) ;) (declaration "code *******pppppppcVar10;" type_identifier (pointer_declarator "*******pppppppcVar10" * (pointer_declarator "******pppppppcVar10" * (pointer_declarator "*****pppppppcVar10" * (pointer_declarator "****pppppppcVar10" * (pointer_declarator "***pppppppcVar10" * (pointer_declarator "**pppppppcVar10" * (pointer_declarator "*pppppppcVar10" * identifier))))))) ;) (declaration "code *******unaff_s1;" type_identifier (pointer_declarator "*******unaff_s1" * (pointer_declarator "******unaff_s1" * (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier))))))) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "code *******pppppppcVar12;" type_identifier (pointer_declarator "*******pppppppcVar12" * (pointer_declarator "******pppppppcVar12" * (pointer_declarator "*****pppppppcVar12" * (pointer_declarator "****pppppppcVar12" * (pointer_declarator "***pppppppcVar12" * (pointer_declarator "**pppppppcVar12" * (pointer_declarator "*pppppppcVar12" * identifier))))))) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 unaff_s2;" type_identifier identifier ;) (declaration "code *******pppppppcVar14;" type_identifier (pointer_declarator "*******pppppppcVar14" * (pointer_declarator "******pppppppcVar14" * (pointer_declarator "*****pppppppcVar14" * (pointer_declarator "****pppppppcVar14" * (pointer_declarator "***pppppppcVar14" * (pointer_declarator "**pppppppcVar14" * (pointer_declarator "*pppppppcVar14" * identifier))))))) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "code *******pppppppcVar15;" type_identifier (pointer_declarator "*******pppppppcVar15" * (pointer_declarator "******pppppppcVar15" * (pointer_declarator "*****pppppppcVar15" * (pointer_declarator "****pppppppcVar15" * (pointer_declarator "***pppppppcVar15" * (pointer_declarator "**pppppppcVar15" * (pointer_declarator "*pppppppcVar15" * identifier))))))) ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined4 unaff_s5;" type_identifier identifier ;) (declaration "code *******pppppppcVar16;" type_identifier (pointer_declarator "*******pppppppcVar16" * (pointer_declarator "******pppppppcVar16" * (pointer_declarator "*****pppppppcVar16" * (pointer_declarator "****pppppppcVar16" * (pointer_declarator "***pppppppcVar16" * (pointer_declarator "**pppppppcVar16" * (pointer_declarator "*pppppppcVar16" * identifier))))))) ;) (declaration "code ******ppppppcVar17;" type_identifier (pointer_declarator "******ppppppcVar17" * (pointer_declarator "*****ppppppcVar17" * (pointer_declarator "****ppppppcVar17" * (pointer_declarator "***ppppppcVar17" * (pointer_declarator "**ppppppcVar17" * (pointer_declarator "*ppppppcVar17" * identifier)))))) ;) (declaration "code *******pppppppcVar18;" type_identifier (pointer_declarator "*******pppppppcVar18" * (pointer_declarator "******pppppppcVar18" * (pointer_declarator "*****pppppppcVar18" * (pointer_declarator "****pppppppcVar18" * (pointer_declarator "***pppppppcVar18" * (pointer_declarator "**pppppppcVar18" * (pointer_declarator "*pppppppcVar18" * identifier))))))) ;) (declaration "code *******pppppppcVar19;" type_identifier (pointer_declarator "*******pppppppcVar19" * (pointer_declarator "******pppppppcVar19" * (pointer_declarator "*****pppppppcVar19" * (pointer_declarator "****pppppppcVar19" * (pointer_declarator "***pppppppcVar19" * (pointer_declarator "**pppppppcVar19" * (pointer_declarator "*pppppppcVar19" * identifier))))))) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *******pppppppcVar22;" type_identifier (pointer_declarator "*******pppppppcVar22" * (pointer_declarator "******pppppppcVar22" * (pointer_declarator "*****pppppppcVar22" * (pointer_declarator "****pppppppcVar22" * (pointer_declarator "***pppppppcVar22" * (pointer_declarator "**pppppppcVar22" * (pointer_declarator "*pppppppcVar22" * identifier))))))) ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "code *******pppppppcStack_1d8;" type_identifier (pointer_declarator "*******pppppppcStack_1d8" * (pointer_declarator "******pppppppcStack_1d8" * (pointer_declarator "*****pppppppcStack_1d8" * (pointer_declarator "****pppppppcStack_1d8" * (pointer_declarator "***pppppppcStack_1d8" * (pointer_declarator "**pppppppcStack_1d8" * (pointer_declarator "*pppppppcStack_1d8" * identifier))))))) ;) (declaration "code *******pppppppcStack_1d4;" type_identifier (pointer_declarator "*******pppppppcStack_1d4" * (pointer_declarator "******pppppppcStack_1d4" * (pointer_declarator "*****pppppppcStack_1d4" * (pointer_declarator "****pppppppcStack_1d4" * (pointer_declarator "***pppppppcStack_1d4" * (pointer_declarator "**pppppppcStack_1d4" * (pointer_declarator "*pppppppcStack_1d4" * identifier))))))) ;) (declaration "int iStack_1d0;" primitive_type identifier ;) (declaration "int iStack_1cc;" primitive_type identifier ;) (declaration "code *******pppppppcStack_1c8;" type_identifier (pointer_declarator "*******pppppppcStack_1c8" * (pointer_declarator "******pppppppcStack_1c8" * (pointer_declarator "*****pppppppcStack_1c8" * (pointer_declarator "****pppppppcStack_1c8" * (pointer_declarator "***pppppppcStack_1c8" * (pointer_declarator "**pppppppcStack_1c8" * (pointer_declarator "*pppppppcStack_1c8" * identifier))))))) ;) (declaration "code *******pppppppcStack_1c4;" type_identifier (pointer_declarator "*******pppppppcStack_1c4" * (pointer_declarator "******pppppppcStack_1c4" * (pointer_declarator "*****pppppppcStack_1c4" * (pointer_declarator "****pppppppcStack_1c4" * (pointer_declarator "***pppppppcStack_1c4" * (pointer_declarator "**pppppppcStack_1c4" * (pointer_declarator "*pppppppcStack_1c4" * identifier))))))) ;) (declaration "code *******pppppppcStack_1c0;" type_identifier (pointer_declarator "*******pppppppcStack_1c0" * (pointer_declarator "******pppppppcStack_1c0" * (pointer_declarator "*****pppppppcStack_1c0" * (pointer_declarator "****pppppppcStack_1c0" * (pointer_declarator "***pppppppcStack_1c0" * (pointer_declarator "**pppppppcStack_1c0" * (pointer_declarator "*pppppppcStack_1c0" * identifier))))))) ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "code *******pppppppcStack_1a8;" type_identifier (pointer_declarator "*******pppppppcStack_1a8" * (pointer_declarator "******pppppppcStack_1a8" * (pointer_declarator "*****pppppppcStack_1a8" * (pointer_declarator "****pppppppcStack_1a8" * (pointer_declarator "***pppppppcStack_1a8" * (pointer_declarator "**pppppppcStack_1a8" * (pointer_declarator "*pppppppcStack_1a8" * identifier))))))) ;) (declaration "code *pcStack_1a0;" type_identifier (pointer_declarator "*pcStack_1a0" * identifier) ;) (declaration "code *******pppppppcStack_198;" type_identifier (pointer_declarator "*******pppppppcStack_198" * (pointer_declarator "******pppppppcStack_198" * (pointer_declarator "*****pppppppcStack_198" * (pointer_declarator "****pppppppcStack_198" * (pointer_declarator "***pppppppcStack_198" * (pointer_declarator "**pppppppcStack_198" * (pointer_declarator "*pppppppcStack_198" * identifier))))))) ;) (declaration "int *piStack_194;" primitive_type (pointer_declarator "*piStack_194" * identifier) ;) (declaration "code *******pppppppcStack_18c;" type_identifier (pointer_declarator "*******pppppppcStack_18c" * (pointer_declarator "******pppppppcStack_18c" * (pointer_declarator "*****pppppppcStack_18c" * (pointer_declarator "****pppppppcStack_18c" * (pointer_declarator "***pppppppcStack_18c" * (pointer_declarator "**pppppppcStack_18c" * (pointer_declarator "*pppppppcStack_18c" * identifier))))))) ;) (declaration "code *******pppppppcStack_188;" type_identifier (pointer_declarator "*******pppppppcStack_188" * (pointer_declarator "******pppppppcStack_188" * (pointer_declarator "*****pppppppcStack_188" * (pointer_declarator "****pppppppcStack_188" * (pointer_declarator "***pppppppcStack_188" * (pointer_declarator "**pppppppcStack_188" * (pointer_declarator "*pppppppcStack_188" * identifier))))))) ;) (declaration "code *******pppppppcStack_184;" type_identifier (pointer_declarator "*******pppppppcStack_184" * (pointer_declarator "******pppppppcStack_184" * (pointer_declarator "*****pppppppcStack_184" * (pointer_declarator "****pppppppcStack_184" * (pointer_declarator "***pppppppcStack_184" * (pointer_declarator "**pppppppcStack_184" * (pointer_declarator "*pppppppcStack_184" * identifier))))))) ;) (declaration "code *******pppppppcStack_180;" type_identifier (pointer_declarator "*******pppppppcStack_180" * (pointer_declarator "******pppppppcStack_180" * (pointer_declarator "*****pppppppcStack_180" * (pointer_declarator "****pppppppcStack_180" * (pointer_declarator "***pppppppcStack_180" * (pointer_declarator "**pppppppcStack_180" * (pointer_declarator "*pppppppcStack_180" * identifier))))))) ;) (declaration "code *******pppppppcStack_17c;" type_identifier (pointer_declarator "*******pppppppcStack_17c" * (pointer_declarator "******pppppppcStack_17c" * (pointer_declarator "*****pppppppcStack_17c" * (pointer_declarator "****pppppppcStack_17c" * (pointer_declarator "***pppppppcStack_17c" * (pointer_declarator "**pppppppcStack_17c" * (pointer_declarator "*pppppppcStack_17c" * identifier))))))) ;) (declaration "code *******pppppppcStack_178;" type_identifier (pointer_declarator "*******pppppppcStack_178" * (pointer_declarator "******pppppppcStack_178" * (pointer_declarator "*****pppppppcStack_178" * (pointer_declarator "****pppppppcStack_178" * (pointer_declarator "***pppppppcStack_178" * (pointer_declarator "**pppppppcStack_178" * (pointer_declarator "*pppppppcStack_178" * identifier))))))) ;) (declaration "code *******pppppppcStack_174;" type_identifier (pointer_declarator "*******pppppppcStack_174" * (pointer_declarator "******pppppppcStack_174" * (pointer_declarator "*****pppppppcStack_174" * (pointer_declarator "****pppppppcStack_174" * (pointer_declarator "***pppppppcStack_174" * (pointer_declarator "**pppppppcStack_174" * (pointer_declarator "*pppppppcStack_174" * identifier))))))) ;) (declaration "code *******pppppppcStack_170;" type_identifier (pointer_declarator "*******pppppppcStack_170" * (pointer_declarator "******pppppppcStack_170" * (pointer_declarator "*****pppppppcStack_170" * (pointer_declarator "****pppppppcStack_170" * (pointer_declarator "***pppppppcStack_170" * (pointer_declarator "**pppppppcStack_170" * (pointer_declarator "*pppppppcStack_170" * identifier))))))) ;) (declaration "undefined4 uStack_16c;" type_identifier identifier ;) (declaration "code *pcStack_158;" type_identifier (pointer_declarator "*pcStack_158" * identifier) ;) (declaration "code *******pppppppcStack_14c;" type_identifier (pointer_declarator "*******pppppppcStack_14c" * (pointer_declarator "******pppppppcStack_14c" * (pointer_declarator "*****pppppppcStack_14c" * (pointer_declarator "****pppppppcStack_14c" * (pointer_declarator "***pppppppcStack_14c" * (pointer_declarator "**pppppppcStack_14c" * (pointer_declarator "*pppppppcStack_14c" * identifier))))))) ;) (declaration "undefined4 uStack_148;" type_identifier identifier ;) (declaration "code *******pppppppcStack_144;" type_identifier (pointer_declarator "*******pppppppcStack_144" * (pointer_declarator "******pppppppcStack_144" * (pointer_declarator "*****pppppppcStack_144" * (pointer_declarator "****pppppppcStack_144" * (pointer_declarator "***pppppppcStack_144" * (pointer_declarator "**pppppppcStack_144" * (pointer_declarator "*pppppppcStack_144" * identifier))))))) ;) (declaration "code ******appppppcStack_140 [13];" type_identifier (pointer_declarator "******appppppcStack_140 [13]" * (pointer_declarator "*****appppppcStack_140 [13]" * (pointer_declarator "****appppppcStack_140 [13]" * (pointer_declarator "***appppppcStack_140 [13]" * (pointer_declarator "**appppppcStack_140 [13]" * (pointer_declarator "*appppppcStack_140 [13]" * (array_declarator "appppppcStack_140 [13]" identifier [ number_literal ]))))))) ;) (declaration "code *******pppppppcStack_10c;" type_identifier (pointer_declarator "*******pppppppcStack_10c" * (pointer_declarator "******pppppppcStack_10c" * (pointer_declarator "*****pppppppcStack_10c" * (pointer_declarator "****pppppppcStack_10c" * (pointer_declarator "***pppppppcStack_10c" * (pointer_declarator "**pppppppcStack_10c" * (pointer_declarator "*pppppppcStack_10c" * identifier))))))) ;) (declaration "code *******pppppppcStack_104;" type_identifier (pointer_declarator "*******pppppppcStack_104" * (pointer_declarator "******pppppppcStack_104" * (pointer_declarator "*****pppppppcStack_104" * (pointer_declarator "****pppppppcStack_104" * (pointer_declarator "***pppppppcStack_104" * (pointer_declarator "**pppppppcStack_104" * (pointer_declarator "*pppppppcStack_104" * identifier))))))) ;) (declaration "code *******pppppppcStack_100;" type_identifier (pointer_declarator "*******pppppppcStack_100" * (pointer_declarator "******pppppppcStack_100" * (pointer_declarator "*****pppppppcStack_100" * (pointer_declarator "****pppppppcStack_100" * (pointer_declarator "***pppppppcStack_100" * (pointer_declarator "**pppppppcStack_100" * (pointer_declarator "*pppppppcStack_100" * identifier))))))) ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "code *******pppppppcStack_f0;" type_identifier (pointer_declarator "*******pppppppcStack_f0" * (pointer_declarator "******pppppppcStack_f0" * (pointer_declarator "*****pppppppcStack_f0" * (pointer_declarator "****pppppppcStack_f0" * (pointer_declarator "***pppppppcStack_f0" * (pointer_declarator "**pppppppcStack_f0" * (pointer_declarator "*pppppppcStack_f0" * identifier))))))) ;) (declaration "code *******pppppppcStack_ec;" type_identifier (pointer_declarator "*******pppppppcStack_ec" * (pointer_declarator "******pppppppcStack_ec" * (pointer_declarator "*****pppppppcStack_ec" * (pointer_declarator "****pppppppcStack_ec" * (pointer_declarator "***pppppppcStack_ec" * (pointer_declarator "**pppppppcStack_ec" * (pointer_declarator "*pppppppcStack_ec" * identifier))))))) ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "code ******ppppppcStack_e0;" type_identifier (pointer_declarator "******ppppppcStack_e0" * (pointer_declarator "*****ppppppcStack_e0" * (pointer_declarator "****ppppppcStack_e0" * (pointer_declarator "***ppppppcStack_e0" * (pointer_declarator "**ppppppcStack_e0" * (pointer_declarator "*ppppppcStack_e0" * identifier)))))) ;) (declaration "code *******pppppppcStack_dc;" type_identifier (pointer_declarator "*******pppppppcStack_dc" * (pointer_declarator "******pppppppcStack_dc" * (pointer_declarator "*****pppppppcStack_dc" * (pointer_declarator "****pppppppcStack_dc" * (pointer_declarator "***pppppppcStack_dc" * (pointer_declarator "**pppppppcStack_dc" * (pointer_declarator "*pppppppcStack_dc" * identifier))))))) ;) (declaration "undefined4 *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "code *******pppppppcStack_d4;" type_identifier (pointer_declarator "*******pppppppcStack_d4" * (pointer_declarator "******pppppppcStack_d4" * (pointer_declarator "*****pppppppcStack_d4" * (pointer_declarator "****pppppppcStack_d4" * (pointer_declarator "***pppppppcStack_d4" * (pointer_declarator "**pppppppcStack_d4" * (pointer_declarator "*pppppppcStack_d4" * identifier))))))) ;) (declaration "code *******pppppppcStack_d0;" type_identifier (pointer_declarator "*******pppppppcStack_d0" * (pointer_declarator "******pppppppcStack_d0" * (pointer_declarator "*****pppppppcStack_d0" * (pointer_declarator "****pppppppcStack_d0" * (pointer_declarator "***pppppppcStack_d0" * (pointer_declarator "**pppppppcStack_d0" * (pointer_declarator "*pppppppcStack_d0" * identifier))))))) ;) (declaration "code *******pppppppcStack_cc;" type_identifier (pointer_declarator "*******pppppppcStack_cc" * (pointer_declarator "******pppppppcStack_cc" * (pointer_declarator "*****pppppppcStack_cc" * (pointer_declarator "****pppppppcStack_cc" * (pointer_declarator "***pppppppcStack_cc" * (pointer_declarator "**pppppppcStack_cc" * (pointer_declarator "*pppppppcStack_cc" * identifier))))))) ;) (declaration "code *******pppppppcStack_c8;" type_identifier (pointer_declarator "*******pppppppcStack_c8" * (pointer_declarator "******pppppppcStack_c8" * (pointer_declarator "*****pppppppcStack_c8" * (pointer_declarator "****pppppppcStack_c8" * (pointer_declarator "***pppppppcStack_c8" * (pointer_declarator "**pppppppcStack_c8" * (pointer_declarator "*pppppppcStack_c8" * identifier))))))) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "code *******local_b0;" type_identifier (pointer_declarator "*******local_b0" * (pointer_declarator "******local_b0" * (pointer_declarator "*****local_b0" * (pointer_declarator "****local_b0" * (pointer_declarator "***local_b0" * (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier))))))) ;) (declaration "undefined *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "code *******local_a0;" type_identifier (pointer_declarator "*******local_a0" * (pointer_declarator "******local_a0" * (pointer_declarator "*****local_a0" * (pointer_declarator "****local_a0" * (pointer_declarator "***local_a0" * (pointer_declarator "**local_a0" * (pointer_declarator "*local_a0" * identifier))))))) ;) (declaration "code *******local_9c;" type_identifier (pointer_declarator "*******local_9c" * (pointer_declarator "******local_9c" * (pointer_declarator "*****local_9c" * (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier))))))) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "code *******local_90;" type_identifier (pointer_declarator "*******local_90" * (pointer_declarator "******local_90" * (pointer_declarator "*****local_90" * (pointer_declarator "****local_90" * (pointer_declarator "***local_90" * (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier))))))) ;) (declaration "code *******local_8c;" type_identifier (pointer_declarator "*******local_8c" * (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier))))))) ;) (declaration "code *******local_84;" type_identifier (pointer_declarator "*******local_84" * (pointer_declarator "******local_84" * (pointer_declarator "*****local_84" * (pointer_declarator "****local_84" * (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier))))))) ;) (declaration "code *******local_80;" type_identifier (pointer_declarator "*******local_80" * (pointer_declarator "******local_80" * (pointer_declarator "*****local_80" * (pointer_declarator "****local_80" * (pointer_declarator "***local_80" * (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier))))))) ;) (declaration "code *******local_7c;" type_identifier (pointer_declarator "*******local_7c" * (pointer_declarator "******local_7c" * (pointer_declarator "*****local_7c" * (pointer_declarator "****local_7c" * (pointer_declarator "***local_7c" * (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier))))))) ;) (declaration "code ******local_78;" type_identifier (pointer_declarator "******local_78" * (pointer_declarator "*****local_78" * (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)))))) ;) (declaration "code *******local_74;" type_identifier (pointer_declarator "*******local_74" * (pointer_declarator "******local_74" * (pointer_declarator "*****local_74" * (pointer_declarator "****local_74" * (pointer_declarator "***local_74" * (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier))))))) ;) (declaration "code *******local_70;" type_identifier (pointer_declarator "*******local_70" * (pointer_declarator "******local_70" * (pointer_declarator "*****local_70" * (pointer_declarator "****local_70" * (pointer_declarator "***local_70" * (pointer_declarator "**local_70" * (pointer_declarator "*local_70" * identifier))))))) ;) (declaration "code *******local_6c;" type_identifier (pointer_declarator "*******local_6c" * (pointer_declarator "******local_6c" * (pointer_declarator "*****local_6c" * (pointer_declarator "****local_6c" * (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier))))))) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;" (assignment_expression "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4" identifier = (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" * (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar2 = param_2;" (assignment_expression "iVar2 = param_2" identifier = identifier) ;) (expression_statement "pppppppcVar14 = param_4;" (assignment_expression "pppppppcVar14 = param_4" identifier = identifier) ;) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" identifier = identifier) ;) (if_statement "if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }" if (parenthesized_expression "(param_4 != (code *******)0x0)" ( (binary_expression "param_4 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }" { (expression_statement "unaff_s4 = &local_28;" (assignment_expression "unaff_s4 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "unaff_s5 = 0x51;" (assignment_expression "unaff_s5 = 0x51" identifier = number_literal) ;) (expression_statement "unaff_s1 = param_3;" (assignment_expression "unaff_s1 = param_3" identifier = identifier) ;) (do_statement "do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);" do (compound_statement "{\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    }" { (expression_statement "iVar2 = param_2;" (assignment_expression "iVar2 = param_2" identifier = identifier) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "pppppppcVar14 = pppppppcVar9;" (assignment_expression "pppppppcVar14 = pppppppcVar9" identifier = identifier) ;) (expression_statement "param_4 = (code *******)FUN_000277f4(param_1);" (assignment_expression "param_4 = (code *******)FUN_000277f4(param_1)" identifier = (cast_expression "(code *******)FUN_000277f4(param_1)" ( (type_descriptor "code *******" 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_000277f4(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (expression_statement "unaff_s3 = param_2;" (assignment_expression "unaff_s3 = param_2" identifier = identifier) ;) (expression_statement "local_38 = unaff_s4;" (assignment_expression "local_38 = unaff_s4" identifier = identifier) ;) (if_statement "if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;" if (parenthesized_expression "(param_4 == (code *******)0x0)" ( (binary_expression "param_4 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }" { (expression_statement "unaff_s1 = (code *******)((int)unaff_s1 + local_28);" (assignment_expression "unaff_s1 = (code *******)((int)unaff_s1 + local_28)" identifier = (cast_expression "(code *******)((int)unaff_s1 + local_28)" ( (type_descriptor "code *******" 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)unaff_s1 + local_28)" ( (binary_expression "(int)unaff_s1 + local_28" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);" (assignment_expression "pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28)" identifier = (cast_expression "(code *******)((int)pppppppcVar9 - local_28)" ( (type_descriptor "code *******" 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)pppppppcVar9 - local_28)" ( (binary_expression "(int)pppppppcVar9 - local_28" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) }) (else_clause "else if (param_4 != (code *******)0x51) break;" else (if_statement "if (param_4 != (code *******)0x51) break;" if (parenthesized_expression "(param_4 != (code *******)0x51)" ( (binary_expression "param_4 != (code *******)0x51" identifier != (cast_expression "(code *******)0x51" ( (type_descriptor "code *******" 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 "param_4 = pppppppcVar9;" (assignment_expression "param_4 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" identifier = identifier) ;) }) while (parenthesized_expression "(param_4 != (code *******)0x0)" ( (binary_expression "param_4 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }" if (parenthesized_expression "(local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4)" ( (binary_expression "local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4" identifier == (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" * (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return param_4;\n  }" { (return_statement "return param_4;" return identifier ;) })) (expression_statement "puVar6 = local_24;" (assignment_expression "puVar6 = local_24" identifier = identifier) ;) (expression_statement "puVar20 = PTR___stack_chk_fail_000b1c48;" (assignment_expression "puVar20 = PTR___stack_chk_fail_000b1c48" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b1c48)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b1c48)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b1c48)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b1c48" * (cast_expression "(code *)PTR___stack_chk_fail_000b1c48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_a8 = puVar20 + 0x78154;" (assignment_expression "local_a8 = puVar20 + 0x78154" identifier = (binary_expression "puVar20 + 0x78154" identifier + number_literal)) ;) (expression_statement "local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);" (assignment_expression "local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018)" identifier = (cast_expression "(code *******)**(undefined4 **)(puVar20 + 0x71018)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(puVar20 + 0x71018)" * (pointer_expression "*(undefined4 **)(puVar20 + 0x71018)" * (cast_expression "(undefined4 **)(puVar20 + 0x71018)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x71018)" ( (binary_expression "puVar20 + 0x71018" identifier + number_literal) ))))))) ;) (expression_statement "local_a0 = (code *******)puVar6[iVar2 + 0x66];" (assignment_expression "local_a0 = (code *******)puVar6[iVar2 + 0x66]" identifier = (cast_expression "(code *******)puVar6[iVar2 + 0x66]" ( (type_descriptor "code *******" 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 "puVar6[iVar2 + 0x66]" identifier [ (binary_expression "iVar2 + 0x66" identifier + number_literal) ]))) ;) (expression_statement "*local_38 = 0;" (assignment_expression "*local_38 = 0" (pointer_expression "*local_38" * identifier) = number_literal) ;) (expression_statement "iVar11 = puVar6[0xb7];" (assignment_expression "iVar11 = puVar6[0xb7]" identifier = (subscript_expression "puVar6[0xb7]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);" (assignment_expression "pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18)" identifier = (pointer_expression "*(code ********)(puVar6[0xbd] + 0x18)" * (cast_expression "(code ********)(puVar6[0xbd] + 0x18)" ( (type_descriptor "code ********" 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 "(puVar6[0xbd] + 0x18)" ( (binary_expression "puVar6[0xbd] + 0x18" (subscript_expression "puVar6[0xbd]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "pppppppcVar16 = (code *******)puVar6[0xbc];" (assignment_expression "pppppppcVar16 = (code *******)puVar6[0xbc]" identifier = (cast_expression "(code *******)puVar6[0xbc]" ( (type_descriptor "code *******" 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 "puVar6[0xbc]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar18 = (code *******)puVar6[0xb5];" (assignment_expression "pppppppcVar18 = (code *******)puVar6[0xb5]" identifier = (cast_expression "(code *******)puVar6[0xb5]" ( (type_descriptor "code *******" 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 "puVar6[0xb5]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" identifier = identifier) ;) (expression_statement "local_70 = pppppppcVar9;" (assignment_expression "local_70 = pppppppcVar9" identifier = identifier) ;) (expression_statement "local_6c = unaff_s1;" (assignment_expression "local_6c = unaff_s1" identifier = identifier) ;) (expression_statement "local_68 = unaff_s2;" (assignment_expression "local_68 = unaff_s2" identifier = identifier) ;) (expression_statement "local_64 = unaff_s3;" (assignment_expression "local_64 = unaff_s3" identifier = identifier) ;) (expression_statement "local_60 = unaff_s4;" (assignment_expression "local_60 = unaff_s4" identifier = identifier) ;) (expression_statement "local_5c = unaff_s5;" (assignment_expression "local_5c = unaff_s5" identifier = identifier) ;) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11)" identifier = (cast_expression "(code *******)(**(code **)(puVar20 + 0x70618))(iVar11)" ( (type_descriptor "code *******" 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 **)(puVar20 + 0x70618))(iVar11)" (parenthesized_expression "(**(code **)(puVar20 + 0x70618))" ( (pointer_expression "**(code **)(puVar20 + 0x70618)" * (pointer_expression "*(code **)(puVar20 + 0x70618)" * (cast_expression "(code **)(puVar20 + 0x70618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x70618)" ( (binary_expression "puVar20 + 0x70618" identifier + number_literal) ))))) )) (argument_list "(iVar11)" ( identifier ))))) ;) (expression_statement "pppppppcVar9 = pppppppcVar18;" (assignment_expression "pppppppcVar9 = pppppppcVar18" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);" (assignment_expression "iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16)" identifier = (call_expression "(*(code *)pppppppcVar15)(pppppppcVar16)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar16)" ( identifier )))) ;) (expression_statement "pppppppcVar12 = (code *******)(iVar11 - iVar2);" (assignment_expression "pppppppcVar12 = (code *******)(iVar11 - iVar2)" identifier = (cast_expression "(code *******)(iVar11 - iVar2)" ( (type_descriptor "code *******" 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 "(iVar11 - iVar2)" ( (binary_expression "iVar11 - iVar2" identifier - identifier) )))) ;) (if_statement "if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }" if (parenthesized_expression "((int)pppppppcVar12 < 1)" ( (binary_expression "(int)pppppppcVar12 < 1" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    pppppppcVar12 = pppppppcVar14;\n  }" { (expression_statement "pppppppcVar12 = pppppppcVar14;" (assignment_expression "pppppppcVar12 = pppppppcVar14" identifier = identifier) ;) })) (expression_statement "pppppppcVar19 = (code *******)0x0;" (assignment_expression "pppppppcVar19 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }" if (parenthesized_expression "(pppppppcVar14 != (code *******)0x0)" ( (binary_expression "pppppppcVar14 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }" { (expression_statement "local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;" (assignment_expression "local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84" identifier = (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x6c84" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_94 = *(int *)(local_a8 + -0x7fd4);" (assignment_expression "local_94 = *(int *)(local_a8 + -0x7fd4)" identifier = (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);" (assignment_expression "pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0)" identifier = (cast_expression "(code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0)" ( (type_descriptor "code *******" 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 *)(local_a8 + -0x7be0) + 0xed0)" ( (binary_expression "*(int *)(local_a8 + -0x7be0) + 0xed0" (pointer_expression "*(int *)(local_a8 + -0x7be0)" * (cast_expression "(int *)(local_a8 + -0x7be0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7be0)" ( (binary_expression "local_a8 + -0x7be0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);" (assignment_expression "local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94)" identifier = (cast_expression "(code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94)" ( (type_descriptor "code *******" 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 *)(local_a8 + -0x7fd4) + 0x6c94)" ( (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x6c94" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_8c = *(code ********)(local_a8 + -0x7fd4);" (assignment_expression "local_8c = *(code ********)(local_a8 + -0x7fd4)" identifier = (pointer_expression "*(code ********)(local_a8 + -0x7fd4)" * (cast_expression "(code ********)(local_a8 + -0x7fd4)" ( (type_descriptor "code ********" 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 "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);" do (compound_statement "{\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    }" { (if_statement "if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }" if (parenthesized_expression "(pppppppcVar14 < pppppppcVar12)" ( (binary_expression "pppppppcVar14 < pppppppcVar12" identifier < identifier) )) (compound_statement "{\n        pppppppcVar12 = pppppppcVar14;\n      }" { (expression_statement "pppppppcVar12 = pppppppcVar14;" (assignment_expression "pppppppcVar12 = pppppppcVar14" identifier = identifier) ;) })) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12)" identifier = (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12)" ( (type_descriptor "code *******" 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 **)(local_a8 + -0x7b3c))(pppppppcVar12)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b3c))" ( (pointer_expression "**(code **)(local_a8 + -0x7b3c)" * (pointer_expression "*(code **)(local_a8 + -0x7b3c)" * (cast_expression "(code **)(local_a8 + -0x7b3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7b3c)" ( (binary_expression "local_a8 + -0x7b3c" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar12)" ( identifier ))))) ;) (expression_statement "local_80 = (code *******)0x0;" (assignment_expression "local_80 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "local_78 = (code ******)0x0;" (assignment_expression "local_78 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcVar22 = (code *******)puVar6[0xb5];" (assignment_expression "pppppppcVar22 = (code *******)puVar6[0xb5]" identifier = (cast_expression "(code *******)puVar6[0xb5]" ( (type_descriptor "code *******" 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 "puVar6[0xb5]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar18 = pppppppcVar22;" (assignment_expression "pppppppcVar18 = pppppppcVar22" identifier = identifier) ;) (if_statement "if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }" if (parenthesized_expression "(pppppppcVar22 == (code *******)&DAT_00000005)" ( (binary_expression "pppppppcVar22 == (code *******)&DAT_00000005" identifier == (cast_expression "(code *******)&DAT_00000005" ( (type_descriptor "code *******" 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 "&DAT_00000005" & identifier))) )) (compound_statement "{\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }" { (expression_statement "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5)" identifier = (call_expression "(**(code **)(local_a8 + -0x7588))(param_3,local_98,5)" (parenthesized_expression "(**(code **)(local_a8 + -0x7588))" ( (pointer_expression "**(code **)(local_a8 + -0x7588)" * (pointer_expression "*(code **)(local_a8 + -0x7588)" * (cast_expression "(code **)(local_a8 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7588)" ( (binary_expression "local_a8 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(param_3,local_98,5)" ( identifier , identifier , number_literal )))) ;) (expression_statement "pppppppcVar18 = (code *******)0x4;" (assignment_expression "pppppppcVar18 = (code *******)0x4" identifier = (cast_expression "(code *******)0x4" ( (type_descriptor "code *******" 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 ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }" if (parenthesized_expression "((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0))" ( (binary_expression "(iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)" ( (comma_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5)" identifier = (call_expression "(**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5)" (parenthesized_expression "(**(code **)(local_a8 + -0x7588))" ( (pointer_expression "**(code **)(local_a8 + -0x7588)" * (pointer_expression "*(code **)(local_a8 + -0x7588)" * (cast_expression "(code **)(local_a8 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7588)" ( (binary_expression "local_a8 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(param_3,local_94 + 0x6c8c,5)" ( identifier , (binary_expression "local_94 + 0x6c8c" identifier + number_literal) , number_literal )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }" { (expression_statement "pppppppcVar18 = (code *******)puVar6[0xb4];" (assignment_expression "pppppppcVar18 = (code *******)puVar6[0xb4]" identifier = (cast_expression "(code *******)puVar6[0xb4]" ( (type_descriptor "code *******" 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 "puVar6[0xb4]" identifier [ number_literal ]))) ;) })) })) (expression_statement "local_b0 = (code *******)&local_80;" (assignment_expression "local_b0 = (code *******)&local_80" identifier = (cast_expression "(code *******)&local_80" ( (type_descriptor "code *******" 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 "&local_80" & identifier))) ;) (expression_statement "pppppppcVar9 = param_3;" (assignment_expression "pppppppcVar9 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar18;" (assignment_expression "pppppppcVar3 = pppppppcVar18" identifier = identifier) ;) (expression_statement "pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);" (assignment_expression "pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" identifier = (cast_expression "(code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" ( (type_descriptor "code *******" 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 **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" (parenthesized_expression "(**(code **)(puVar6[0xbd] + 0x1c))" ( (pointer_expression "**(code **)(puVar6[0xbd] + 0x1c)" * (pointer_expression "*(code **)(puVar6[0xbd] + 0x1c)" * (cast_expression "(code **)(puVar6[0xbd] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6[0xbd] + 0x1c)" ( (binary_expression "puVar6[0xbd] + 0x1c" (subscript_expression "puVar6[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar6[0xbc])" ( (subscript_expression "puVar6[0xbc]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppcVar8 = local_a0;" (assignment_expression "pppppppcVar8 = local_a0" identifier = identifier) ;) (expression_statement "local_9c = local_80;" (assignment_expression "local_9c = local_80" identifier = identifier) ;) (if_statement "if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }" if (parenthesized_expression "((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16))" ( (binary_expression "(local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)" (parenthesized_expression "(local_80 != (code *******)0x0)" ( (binary_expression "local_80 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "(0 < (int)pppppppcVar16)" ( (binary_expression "0 < (int)pppppppcVar16" number_literal < (cast_expression "(int)pppppppcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }" { (if_statement "if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" if (parenthesized_expression "(pppppppcVar22 == (code *******)&DAT_00000005)" ( (binary_expression "pppppppcVar22 == (code *******)&DAT_00000005" identifier == (cast_expression "(code *******)&DAT_00000005" ( (type_descriptor "code *******" 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 "&DAT_00000005" & identifier))) )) (compound_statement "{\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" { (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" identifier = (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" ( (type_descriptor "code *******" 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 **)(local_a8 + -0x7b38))(pppppppcVar16)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b38))" ( (pointer_expression "**(code **)(local_a8 + -0x7b38)" * (pointer_expression "*(code **)(local_a8 + -0x7b38)" * (cast_expression "(code **)(local_a8 + -0x7b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7b38)" ( (binary_expression "local_a8 + -0x7b38" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar16)" ( identifier ))))) ;) (expression_statement "local_b0 = &local_78;" (assignment_expression "local_b0 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "pppppppcVar3 = (code *******)&local_7c;" (assignment_expression "pppppppcVar3 = (code *******)&local_7c" identifier = (cast_expression "(code *******)&local_7c" ( (type_descriptor "code *******" 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 "&local_7c" & identifier))) ;) (expression_statement "pppppppcVar8 = local_9c;" (assignment_expression "pppppppcVar8 = local_9c" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23)" identifier = (call_expression "(**(code **)(local_a8 + -0x7e58))(uVar23)" (parenthesized_expression "(**(code **)(local_a8 + -0x7e58))" ( (pointer_expression "**(code **)(local_a8 + -0x7e58)" * (pointer_expression "*(code **)(local_a8 + -0x7e58)" * (cast_expression "(code **)(local_a8 + -0x7e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7e58)" ( (binary_expression "local_a8 + -0x7e58" identifier + number_literal) ))))) )) (argument_list "(uVar23)" ( identifier )))) ;) (expression_statement "pppppppcVar22 = local_8c;" (assignment_expression "pppppppcVar22 = local_8c" identifier = identifier) ;) (expression_statement "pppppppcVar9 = local_a0;" (assignment_expression "pppppppcVar9 = local_a0" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }" { (expression_statement "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);" (call_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80)" (parenthesized_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))" ( (pointer_expression "*(code *)**(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(code *)**(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_a8 + -0x7fcc)" * (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))))) )) (argument_list "(local_80)" ( identifier ))) ;) (expression_statement "pppppppcVar9 = pppppppcVar8;" (assignment_expression "pppppppcVar9 = pppppppcVar8" identifier = identifier) ;) (goto_statement "goto LAB_00041228;" goto statement_identifier ;) })) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))) ;) (if_statement "if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }" if (parenthesized_expression "(local_78 != (code ******)0x0)" ( (binary_expression "local_78 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" 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            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }" { (if_statement "if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" if (parenthesized_expression "(pppppppcVar18 == (code *******)0x4)" ( (binary_expression "pppppppcVar18 == (code *******)0x4" identifier == (cast_expression "(code *******)0x4" ( (type_descriptor "code *******" 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              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }" { (expression_statement "pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);" (assignment_expression "pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4)" identifier = (pointer_expression "*(code ********)(local_a8 + -0x7fd4)" * (cast_expression "(code ********)(local_a8 + -0x7fd4)" ( (type_descriptor "code ********" 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 "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4)" ( identifier , identifier , (binary_expression "pppppppcVar16 + 0x1b1f" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,local_7c,local_78)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" ( identifier , identifier , (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pppppppcVar1 = pppppppcVar16 + 0x1b1f;" (assignment_expression "pppppppcVar1 = pppppppcVar16 + 0x1b1f" identifier = (binary_expression "pppppppcVar16 + 0x1b1f" identifier + number_literal)) ;) }) (else_clause "else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" else (compound_statement "{\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" { (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,local_a0,local_8c + 0x1b1d)" ( identifier , identifier , (binary_expression "local_8c + 0x1b1d" identifier + number_literal) ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,local_7c,local_78)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" ( identifier , identifier , (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pppppppcVar1 = pppppppcVar22 + 0x1b1d;" (assignment_expression "pppppppcVar1 = pppppppcVar22 + 0x1b1d" identifier = (binary_expression "pppppppcVar22 + 0x1b1d" identifier + number_literal)) ;) (expression_statement "pppppppcVar16 = pppppppcVar9;" (assignment_expression "pppppppcVar16 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar9 = pppppppcVar22;" (assignment_expression "pppppppcVar9 = pppppppcVar22" identifier = identifier) ;) }))) (expression_statement "pppppppcVar8 = local_90;" (assignment_expression "pppppppcVar8 = local_90" identifier = identifier) ;) (expression_statement "pppppppcVar3 = local_7c;" (assignment_expression "pppppppcVar3 = local_7c" identifier = identifier) ;) (expression_statement "FUN_00027444(uVar23);" (call_expression "FUN_00027444(uVar23)" identifier (argument_list "(uVar23)" ( identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);" (call_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c)" (parenthesized_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))" ( (pointer_expression "*(code *)**(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(code *)**(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_a8 + -0x7fcc)" * (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))))) )) (argument_list "(local_7c)" ( identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) })) }) (else_clause "else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" else (compound_statement "{\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" { (expression_statement "local_84 = pppppppcVar16;" (assignment_expression "local_84 = pppppppcVar16" identifier = identifier) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,local_a0,&local_84,4)" ( identifier , identifier , (pointer_expression "&local_84" & identifier) , number_literal ))) ;) (expression_statement "pppppppcVar18 = local_80;" (assignment_expression "pppppppcVar18 = local_80" identifier = identifier) ;) (expression_statement "pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);" (assignment_expression "pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" identifier = (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" ( (type_descriptor "code *******" 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 **)(local_a8 + -0x7b38))(pppppppcVar16)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b38))" ( (pointer_expression "**(code **)(local_a8 + -0x7b38)" * (pointer_expression "*(code **)(local_a8 + -0x7b38)" * (cast_expression "(code **)(local_a8 + -0x7b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7b38)" ( (binary_expression "local_a8 + -0x7b38" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar16)" ( identifier ))))) ;) (expression_statement "pppppppcVar1 = pppppppcVar18;" (assignment_expression "pppppppcVar1 = pppppppcVar18" identifier = identifier) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6);" (call_expression "(*(code *)pppppppcVar15)(puVar6)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))) ;) }))) (expression_statement "(*(code *)*puVar4)(local_80);" (call_expression "(*(code *)*puVar4)(local_80)" (parenthesized_expression "(*(code *)*puVar4)" ( (pointer_expression "*(code *)*puVar4" * (cast_expression "(code *)*puVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) )) (argument_list "(local_80)" ( identifier ))) ;) (expression_statement "pppppppcVar9 = pppppppcVar8;" (assignment_expression "pppppppcVar9 = pppppppcVar8" identifier = identifier) ;) })) (labeled_statement "LAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);" statement_identifier : (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12)" identifier = (cast_expression "(code *******)((int)pppppppcVar14 - (int)pppppppcVar12)" ( (type_descriptor "code *******" 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)pppppppcVar14 - (int)pppppppcVar12)" ( (binary_expression "(int)pppppppcVar14 - (int)pppppppcVar12" (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);" (assignment_expression "param_3 = (code *******)((int)param_3 + (int)pppppppcVar12)" identifier = (cast_expression "(code *******)((int)param_3 + (int)pppppppcVar12)" ( (type_descriptor "code *******" 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_3 + (int)pppppppcVar12)" ( (binary_expression "(int)param_3 + (int)pppppppcVar12" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);" (assignment_expression "pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12)" identifier = (cast_expression "(code *******)((int)pppppppcVar19 + (int)pppppppcVar12)" ( (type_descriptor "code *******" 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)pppppppcVar19 + (int)pppppppcVar12)" ( (binary_expression "(int)pppppppcVar19 + (int)pppppppcVar12" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) while (parenthesized_expression "(pppppppcVar14 != (code *******)0x0)" ( (binary_expression "pppppppcVar14 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }" if (parenthesized_expression "(local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c))" ( (binary_expression "local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)" identifier == (cast_expression "(code *******)**(undefined4 **)(local_a8 + -0x713c)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(local_a8 + -0x713c)" * (pointer_expression "*(undefined4 **)(local_a8 + -0x713c)" * (cast_expression "(undefined4 **)(local_a8 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x713c)" ( (binary_expression "local_a8 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcVar19;\n  }" { (return_statement "return pppppppcVar19;" return identifier ;) })) (expression_statement "pcVar21 = *(code **)(local_a8 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(local_a8 + -0x74c8)" identifier = (pointer_expression "*(code **)(local_a8 + -0x74c8)" * (cast_expression "(code **)(local_a8 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x74c8)" ( (binary_expression "local_a8 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = FUN_0004140c;" (assignment_expression "pcVar24 = FUN_0004140c" identifier = identifier) ;) (expression_statement "pppppppcVar22 = local_74;" (assignment_expression "pppppppcVar22 = local_74" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar21 + 0x77d04;" (assignment_expression "pcStack_e8 = pcVar21 + 0x77d04" identifier = (binary_expression "pcVar21 + 0x77d04" identifier + number_literal)) ;) (expression_statement "pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);" (assignment_expression "pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8)" identifier = (cast_expression "(code *******)**(undefined4 **)(pcVar21 + 0x70bc8)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcVar21 + 0x70bc8)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x70bc8)" * (cast_expression "(undefined4 **)(pcVar21 + 0x70bc8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70bc8)" ( (binary_expression "pcVar21 + 0x70bc8" identifier + number_literal) ))))))) ;) (expression_statement "pppppppcVar8 = pppppppcVar1;" (assignment_expression "pppppppcVar8 = pppppppcVar1" identifier = identifier) ;) (expression_statement "pppppppcVar10 = pppppppcVar1;" (assignment_expression "pppppppcVar10 = pppppppcVar1" identifier = identifier) ;) (expression_statement "puStack_d8 = puVar6;" (assignment_expression "puStack_d8 = puVar6" identifier = identifier) ;) (expression_statement "pppppppcStack_d4 = pppppppcVar12;" (assignment_expression "pppppppcStack_d4 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcStack_d0 = pppppppcVar14;" (assignment_expression "pppppppcStack_d0 = pppppppcVar14" identifier = identifier) ;) (expression_statement "pppppppcStack_cc = pppppppcVar15;" (assignment_expression "pppppppcStack_cc = pppppppcVar15" identifier = identifier) ;) (expression_statement "pppppppcStack_c8 = param_3;" (assignment_expression "pppppppcStack_c8 = param_3" identifier = identifier) ;) (expression_statement "pcStack_c4 = pcVar24;" (assignment_expression "pcStack_c4 = pcVar24" identifier = identifier) ;) (if_statement "if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }" if (parenthesized_expression "(pppppppcVar1 != (code *******)0x0)" ( (binary_expression "pppppppcVar1 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }" { (expression_statement "pppppppcVar15 = &ppppppcStack_e0;" (assignment_expression "pppppppcVar15 = &ppppppcStack_e0" identifier = (pointer_expression "&ppppppcStack_e0" & identifier)) ;) (expression_statement "param_3 = (code *******)0x51;" (assignment_expression "param_3 = (code *******)0x51" identifier = (cast_expression "(code *******)0x51" ( (type_descriptor "code *******" 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 "pppppppcVar12 = pppppppcVar9;" (assignment_expression "pppppppcVar12 = pppppppcVar9" identifier = identifier) ;) (do_statement "do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);" do (compound_statement "{\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    }" { (expression_statement "pppppppcVar9 = pppppppcVar12;" (assignment_expression "pppppppcVar9 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcVar10;" (assignment_expression "pppppppcVar8 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar15;" (assignment_expression "pppppppcVar3 = pppppppcVar15" identifier = identifier) ;) (expression_statement "pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);" (assignment_expression "pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22)" identifier = (cast_expression "(code *******)FUN_00027084(pppppppcVar22)" ( (type_descriptor "code *******" 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_00027084(pppppppcVar22)" identifier (argument_list "(pppppppcVar22)" ( identifier ))))) ;) (expression_statement "pppppppcVar14 = pppppppcVar22;" (assignment_expression "pppppppcVar14 = pppppppcVar22" identifier = identifier) ;) (if_statement "if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;" if (parenthesized_expression "(pppppppcVar1 == (code *******)0x0)" ( (binary_expression "pppppppcVar1 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }" { (expression_statement "pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);" (assignment_expression "pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0)" identifier = (cast_expression "(code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0)" ( (type_descriptor "code *******" 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)pppppppcVar12 + (int)ppppppcStack_e0)" ( (binary_expression "(int)pppppppcVar12 + (int)ppppppcStack_e0" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);" (assignment_expression "pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0)" identifier = (cast_expression "(code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0)" ( (type_descriptor "code *******" 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)pppppppcVar10 - (int)ppppppcStack_e0)" ( (binary_expression "(int)pppppppcVar10 - (int)ppppppcStack_e0" (cast_expression "(int)pppppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppcStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else if (pppppppcVar1 != (code *******)0x51) break;" else (if_statement "if (pppppppcVar1 != (code *******)0x51) break;" if (parenthesized_expression "(pppppppcVar1 != (code *******)0x51)" ( (binary_expression "pppppppcVar1 != (code *******)0x51" identifier != (cast_expression "(code *******)0x51" ( (type_descriptor "code *******" 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 "pppppppcVar1 = pppppppcVar10;" (assignment_expression "pppppppcVar1 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcVar10 = pppppppcVar1;" (assignment_expression "pppppppcVar10 = pppppppcVar1" identifier = identifier) ;) }) while (parenthesized_expression "(pppppppcVar1 != (code *******)0x0)" ( (binary_expression "pppppppcVar1 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }" if (parenthesized_expression "(pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c))" ( (binary_expression "pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)" identifier == (cast_expression "(code *******)**(undefined4 **)(pcStack_e8 + -0x713c)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcStack_e8 + -0x713c)" * (pointer_expression "*(undefined4 **)(pcStack_e8 + -0x713c)" * (cast_expression "(undefined4 **)(pcStack_e8 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x713c)" ( (binary_expression "pcStack_e8 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcVar1;\n  }" { (return_statement "return pppppppcVar1;" return identifier ;) })) (expression_statement "pcVar21 = *(code **)(pcStack_e8 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_e8 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_e8 + -0x74c8)" * (cast_expression "(code **)(pcStack_e8 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x74c8)" ( (binary_expression "pcStack_e8 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = FUN_000414e8;" (assignment_expression "pcVar24 = FUN_000414e8" identifier = identifier) ;) (expression_statement "pppppppcVar1 = pppppppcStack_dc;" (assignment_expression "pppppppcVar1 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_158 = pcVar21 + 0x77c28;" (assignment_expression "pcStack_158 = pcVar21 + 0x77c28" identifier = (binary_expression "pcVar21 + 0x77c28" identifier + number_literal)) ;) (expression_statement "pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);" (assignment_expression "pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec)" identifier = (cast_expression "(code *******)**(undefined4 **)(pcVar21 + 0x70aec)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcVar21 + 0x70aec)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x70aec)" * (cast_expression "(undefined4 **)(pcVar21 + 0x70aec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70aec)" ( (binary_expression "pcVar21 + 0x70aec" identifier + number_literal) ))))))) ;) (expression_statement "uStack_148 = 0;" (assignment_expression "uStack_148 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar22 = (code *******)&pppppppcStack_f0;" (assignment_expression "pppppppcVar22 = (code *******)&pppppppcStack_f0" identifier = (cast_expression "(code *******)&pppppppcStack_f0" ( (type_descriptor "code *******" 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 "&pppppppcStack_f0" & identifier))) ;) (expression_statement "pppppppcStack_144 = pppppppcVar22;" (assignment_expression "pppppppcStack_144 = pppppppcVar22" identifier = identifier) ;) (expression_statement "pppppppcStack_104 = pppppppcVar10;" (assignment_expression "pppppppcStack_104 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcStack_100 = pppppppcVar12;" (assignment_expression "pppppppcStack_100 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pcStack_fc = pcVar24;" (assignment_expression "pcStack_fc = pcVar24" identifier = identifier) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar8;" (assignment_expression "pppppppcStack_f0 = pppppppcVar8" identifier = identifier) ;) (expression_statement "pppppppcStack_ec = pppppppcVar3;" (assignment_expression "pppppppcStack_ec = pppppppcVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);" (call_expression "(**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70930))" ( (pointer_expression "**(code **)(pcVar21 + 0x70930)" * (pointer_expression "*(code **)(pcVar21 + 0x70930)" * (cast_expression "(code **)(pcVar21 + 0x70930)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70930)" ( (binary_expression "pcVar21 + 0x70930" identifier + number_literal) ))))) )) (argument_list "(appppppcStack_140,0x32)" ( identifier , number_literal ))) ;) (expression_statement "pppppppcVar3 = appppppcStack_140;" (assignment_expression "pppppppcVar3 = appppppcStack_140" identifier = identifier) ;) (expression_statement "iVar2 = FUN_0002f228(pppppppcVar1);" (assignment_expression "iVar2 = FUN_0002f228(pppppppcVar1)" identifier = (call_expression "FUN_0002f228(pppppppcVar1)" identifier (argument_list "(pppppppcVar1)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }" { (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_14c;" (assignment_expression "pppppppcVar9 = (code *******)&pppppppcStack_14c" identifier = (cast_expression "(code *******)&pppppppcStack_14c" ( (type_descriptor "code *******" 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 "&pppppppcStack_14c" & identifier))) ;) (expression_statement "pppppppcVar3 = pppppppcVar1;" (assignment_expression "pppppppcVar3 = pppppppcVar1" identifier = identifier) ;) (expression_statement "iVar2 = FUN_0002c44c(&uStack_148);" (assignment_expression "iVar2 = FUN_0002c44c(&uStack_148)" identifier = (call_expression "FUN_0002c44c(&uStack_148)" identifier (argument_list "(&uStack_148)" ( (pointer_expression "&uStack_148" & identifier) )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00041574;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00041574;" goto statement_identifier ;)) })) (expression_statement "pppppppcStack_14c = (code *******)0xffffffff;" (assignment_expression "pppppppcStack_14c = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }" statement_identifier : (if_statement "if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }" if (parenthesized_expression "(pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c))" ( (binary_expression "pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)" identifier == (cast_expression "(code *******)**(undefined4 **)(pcStack_158 + -0x713c)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcStack_158 + -0x713c)" * (pointer_expression "*(undefined4 **)(pcStack_158 + -0x713c)" * (cast_expression "(undefined4 **)(pcStack_158 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_158 + -0x713c)" ( (binary_expression "pcStack_158 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcStack_14c;\n  }" { (return_statement "return pppppppcStack_14c;" return identifier ;) }))) (expression_statement "pcVar21 = *(code **)(pcStack_158 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_158 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_158 + -0x74c8)" * (cast_expression "(code **)(pcStack_158 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_158 + -0x74c8)" ( (binary_expression "pcStack_158 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = 0x415d4;" (assignment_expression "uVar23 = 0x415d4" identifier = number_literal) ;) (expression_statement "pppppppcVar12 = pppppppcStack_10c;" (assignment_expression "pppppppcVar12 = pppppppcStack_10c" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1a0 = pcVar21 + 0x77b3c;" (assignment_expression "pcStack_1a0 = pcVar21 + 0x77b3c" identifier = (binary_expression "pcVar21 + 0x77b3c" identifier + number_literal)) ;) (expression_statement "piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);" (assignment_expression "piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00)" identifier = (cast_expression "(int *)**(undefined4 **)(pcVar21 + 0x70a00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x70a00)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x70a00)" * (cast_expression "(undefined4 **)(pcVar21 + 0x70a00)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70a00)" ( (binary_expression "pcVar21 + 0x70a00" identifier + number_literal) ))))))) ;) (expression_statement "ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];" (assignment_expression "ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)]" identifier = (subscript_expression "pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)]" identifier [ (cast_expression "(int)((int)pppppppcVar3 + 0x66)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcVar3 + 0x66)" ( (binary_expression "(int)pppppppcVar3 + 0x66" (cast_expression "(int)pppppppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ])) ;) (expression_statement "*(undefined4 *)pcStack_158 = 0;" (assignment_expression "*(undefined4 *)pcStack_158 = 0" (pointer_expression "*(undefined4 *)pcStack_158" * (cast_expression "(undefined4 *)pcStack_158" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "pppppppcVar8 = appppppcStack_140;" (assignment_expression "pppppppcVar8 = appppppcStack_140" identifier = identifier) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar1;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar1" identifier = identifier) ;) (expression_statement "pppppppcStack_18c = appppppcStack_140;" (assignment_expression "pppppppcStack_18c = appppppcStack_140" identifier = identifier) ;) (expression_statement "pppppppcStack_188 = pppppppcVar1;" (assignment_expression "pppppppcStack_188 = pppppppcVar1" identifier = identifier) ;) (expression_statement "pppppppcStack_184 = pppppppcVar14;" (assignment_expression "pppppppcStack_184 = pppppppcVar14" identifier = identifier) ;) (expression_statement "pppppppcStack_180 = pppppppcVar15;" (assignment_expression "pppppppcStack_180 = pppppppcVar15" identifier = identifier) ;) (expression_statement "pppppppcStack_17c = param_3;" (assignment_expression "pppppppcStack_17c = param_3" identifier = identifier) ;) (expression_statement "pppppppcStack_178 = pppppppcVar16;" (assignment_expression "pppppppcStack_178 = pppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcStack_174 = pppppppcVar18;" (assignment_expression "pppppppcStack_174 = pppppppcVar18" identifier = identifier) ;) (expression_statement "pppppppcStack_170 = pppppppcVar19;" (assignment_expression "pppppppcStack_170 = pppppppcVar19" identifier = identifier) ;) (expression_statement "uStack_16c = uVar23;" (assignment_expression "uStack_16c = uVar23" identifier = identifier) ;) (if_statement "if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" if (parenthesized_expression "((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1))" ( (binary_expression "(pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)" (parenthesized_expression "(pppppppcVar12[0xb3] == (code ******)0x0)" ( (binary_expression "pppppppcVar12[0xb3] == (code ******)0x0" (subscript_expression "pppppppcVar12[0xb3]" identifier [ number_literal ]) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)" ( (comma_expression "pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1" (assignment_expression "pppppppcVar8 = pppppppcVar12" identifier = identifier) , (binary_expression "pppppppcVar12[0xb5] == (code ******)0x1" (subscript_expression "pppppppcVar12[0xb5]" identifier [ number_literal ]) == (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" 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    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }" { (expression_statement "pppppppcVar1 = pppppppcVar22;" (assignment_expression "pppppppcVar1 = pppppppcVar22" identifier = identifier) ;) (expression_statement "pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);" (assignment_expression "pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17)" identifier = (cast_expression "(code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17)" ( (type_descriptor "code *******" 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 **)(pcVar21 + 0x7042c))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar21 + 0x7042c))" ( (pointer_expression "**(code **)(pcVar21 + 0x7042c)" * (pointer_expression "*(code **)(pcVar21 + 0x7042c)" * (cast_expression "(code **)(pcVar21 + 0x7042c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x7042c)" ( (binary_expression "pcVar21 + 0x7042c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))))) ;) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar12 = pppppppcVar8;" (assignment_expression "pppppppcVar12 = pppppppcVar8" identifier = identifier) ;) }) (else_clause "else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" else (if_statement "if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" if (parenthesized_expression "(pppppppcVar12[0xbb] == (code ******)0x0)" ( (binary_expression "pppppppcVar12[0xbb] == (code ******)0x0" (subscript_expression "pppppppcVar12[0xbb]" identifier [ number_literal ]) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" 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    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }" { (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" identifier = (cast_expression "(code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" ( (type_descriptor "code *******" 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)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar12[0xb9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xb9]" identifier [ number_literal ])) - (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (if_statement "if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }" if (parenthesized_expression "(pppppppcVar22 < pppppppcVar14)" ( (binary_expression "pppppppcVar22 < pppppppcVar14" identifier < identifier) )) (compound_statement "{\n      pppppppcVar14 = pppppppcVar22;\n    }" { (expression_statement "pppppppcVar14 = pppppppcVar22;" (assignment_expression "pppppppcVar14 = pppppppcVar22" identifier = identifier) ;) })) (expression_statement "pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" identifier = (cast_expression "(code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" ( (type_descriptor "code *******" 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)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar12[0xb8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xb8]" identifier [ number_literal ])) + (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppcVar1 = pppppppcVar14;" (assignment_expression "pppppppcVar1 = pppppppcVar14" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);" (call_expression "(**(code **)(pcVar21 + 0x7090c))(pppppppcVar9)" (parenthesized_expression "(**(code **)(pcVar21 + 0x7090c))" ( (pointer_expression "**(code **)(pcVar21 + 0x7090c)" * (pointer_expression "*(code **)(pcVar21 + 0x7090c)" * (cast_expression "(code **)(pcVar21 + 0x7090c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x7090c)" ( (binary_expression "pcVar21 + 0x7090c" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar9)" ( identifier ))) ;) (expression_statement "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar14 + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);" (assignment_expression "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14)" identifier = (cast_expression "(code *******)((int)pppppppcVar22 - (int)pppppppcVar14)" ( (type_descriptor "code *******" 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)pppppppcVar22 - (int)pppppppcVar14)" ( (binary_expression "(int)pppppppcVar22 - (int)pppppppcVar14" (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);" (assignment_expression "pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14)" identifier = (cast_expression "(code *)((int)pppppppcVar9 + (int)pppppppcVar14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar9 + (int)pppppppcVar14)" ( (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar14" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar14;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar14" identifier = identifier) ;) (if_statement "if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }" if (parenthesized_expression "(pppppppcVar22 != (code *******)0x0)" ( (binary_expression "pppppppcVar22 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }" { (expression_statement "pppppppcVar9 = pppppppcVar14;" (assignment_expression "pppppppcVar9 = pppppppcVar14" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" identifier = identifier) ;) (do_statement "do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);" do (compound_statement "{\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      }" { (expression_statement "pppppppcVar1 = (code *******)0x4;" (assignment_expression "pppppppcVar1 = (code *******)0x4" identifier = (cast_expression "(code *******)0x4" ( (type_descriptor "code *******" 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 "pppppppcVar18 = (code *******)&pppppppcStack_198;" (assignment_expression "pppppppcVar18 = (code *******)&pppppppcStack_198" identifier = (cast_expression "(code *******)&pppppppcStack_198" ( (type_descriptor "code *******" 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 "&pppppppcStack_198" & identifier))) ;) (expression_statement "iVar2 = FUN_0004140c(ppppppcVar17);" (assignment_expression "iVar2 = FUN_0004140c(ppppppcVar17)" identifier = (call_expression "FUN_0004140c(ppppppcVar17)" identifier (argument_list "(ppppppcVar17)" ( identifier )))) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar9;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar9" identifier = identifier) ;) (if_statement "if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }" if (parenthesized_expression "((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0))" ( (binary_expression "(iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) || (parenthesized_expression "(pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)" ( (comma_expression "pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0" (assignment_expression "pppppppcVar18 = pppppppcStack_198" identifier = identifier) , (binary_expression "pppppppcStack_198 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }" { (labeled_statement "LAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;" statement_identifier : (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);" (assignment_expression "pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8])" identifier = (cast_expression "(code *******)FUN_00053634(pppppppcVar12[0xb8])" ( (type_descriptor "code *******" 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_00053634(pppppppcVar12[0xb8])" identifier (argument_list "(pppppppcVar12[0xb8])" ( (subscript_expression "pppppppcVar12[0xb8]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppcVar12[0xb8] = (code ******)pppppppcVar15;" (assignment_expression "pppppppcVar12[0xb8] = (code ******)pppppppcVar15" (subscript_expression "pppppppcVar12[0xb8]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar15" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "pppppppcVar1 = pppppppcStack_198;" (assignment_expression "pppppppcVar1 = pppppppcStack_198" identifier = identifier) ;) (if_statement "if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;" if (parenthesized_expression "((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))" ( (binary_expression "(pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0)" (parenthesized_expression "(pppppppcStack_198 == (code *******)0x0)" ( (binary_expression "pppppppcStack_198 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "(pppppppcVar15 == (code *******)0x0)" ( (binary_expression "pppppppcVar15 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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_0004180c;" goto statement_identifier ;)) (expression_statement "iVar2 = FUN_0004140c(ppppppcVar17);" (assignment_expression "iVar2 = FUN_0004140c(ppppppcVar17)" identifier = (call_expression "FUN_0004140c(ppppppcVar17)" identifier (argument_list "(ppppppcVar17)" ( identifier )))) ;) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar15;" (assignment_expression "pppppppcVar18 = pppppppcVar15" identifier = identifier) ;) (if_statement "if (iVar2 != 0) break;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pppppppcVar18 = (code *******)pppppppcVar12[0xb8];" (assignment_expression "pppppppcVar18 = (code *******)pppppppcVar12[0xb8]" identifier = (cast_expression "(code *******)pppppppcVar12[0xb8]" ( (type_descriptor "code *******" 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 "pppppppcVar12[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar1 = pppppppcStack_198;" (assignment_expression "pppppppcVar1 = pppppppcStack_198" identifier = identifier) ;) (expression_statement "pppppppcStack_1a8 = pppppppcVar12;" (assignment_expression "pppppppcStack_1a8 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);" (assignment_expression "pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" identifier = (cast_expression "(code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" ( (type_descriptor "code *******" 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 *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" (parenthesized_expression "(*(code *)pppppppcVar12[0xbd][8])" ( (pointer_expression "*(code *)pppppppcVar12[0xbd][8]" * (cast_expression "(code *)pppppppcVar12[0xbd][8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppppcVar12[0xbd][8]" (subscript_expression "pppppppcVar12[0xbd]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "(pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" ( (subscript_expression "pppppppcVar12[0xbc]" identifier [ number_literal ]) , identifier , identifier , (subscript_expression "pppppppcVar12[0xb5]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppcVar12[0xb9] = (code ******)pppppppcVar14;" (assignment_expression "pppppppcVar12[0xb9] = (code ******)pppppppcVar14" (subscript_expression "pppppppcVar12[0xb9]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar14" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "pppppppcVar12[0xba] = (code ******)0x0;" (assignment_expression "pppppppcVar12[0xba] = (code ******)0x0" (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]) = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }" if (parenthesized_expression "(pppppppcVar14 == (code *******)0x0)" ( (binary_expression "pppppppcVar14 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }" { (expression_statement "pppppppcVar14 = pppppppcVar9;" (assignment_expression "pppppppcVar14 = pppppppcVar9" identifier = identifier) ;) (if_statement "if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }" if (parenthesized_expression "(pppppppcVar9 != (code *******)0x0)" ( (binary_expression "pppppppcVar9 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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            pppppppcVar12[0xbb] = (code ******)0x1;\n          }" { (expression_statement "pppppppcVar12[0xbb] = (code ******)0x1;" (assignment_expression "pppppppcVar12[0xbb] = (code ******)0x1" (subscript_expression "pppppppcVar12[0xbb]" identifier [ number_literal ]) = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" 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 "pppppppcVar9 = pppppppcVar14;" (assignment_expression "pppppppcVar9 = pppppppcVar14" identifier = identifier) ;) (if_statement "if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }" if (parenthesized_expression "(pppppppcVar22 < pppppppcVar14)" ( (binary_expression "pppppppcVar22 < pppppppcVar14" identifier < identifier) )) (compound_statement "{\n          pppppppcVar9 = pppppppcVar22;\n        }" { (expression_statement "pppppppcVar9 = pppppppcVar22;" (assignment_expression "pppppppcVar9 = pppppppcVar22" identifier = identifier) ;) })) (expression_statement "pppppppcVar18 = (code *******)pppppppcVar12[0xb8];" (assignment_expression "pppppppcVar18 = (code *******)pppppppcVar12[0xb8]" identifier = (cast_expression "(code *******)pppppppcVar12[0xb8]" ( (type_descriptor "code *******" 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 "pppppppcVar12[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar1 = pppppppcVar9;" (assignment_expression "pppppppcVar1 = pppppppcVar9" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_1a0 + -0x7230))(pcVar21);" (call_expression "(**(code **)(pcStack_1a0 + -0x7230))(pcVar21)" (parenthesized_expression "(**(code **)(pcStack_1a0 + -0x7230))" ( (pointer_expression "**(code **)(pcStack_1a0 + -0x7230)" * (pointer_expression "*(code **)(pcStack_1a0 + -0x7230)" * (cast_expression "(code **)(pcStack_1a0 + -0x7230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a0 + -0x7230)" ( (binary_expression "pcStack_1a0 + -0x7230" identifier + number_literal) ))))) )) (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);" (assignment_expression "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9)" identifier = (cast_expression "(code *******)((int)pppppppcVar22 - (int)pppppppcVar9)" ( (type_descriptor "code *******" 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)pppppppcVar22 - (int)pppppppcVar9)" ( (binary_expression "(int)pppppppcVar22 - (int)pppppppcVar9" (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9)" identifier = (cast_expression "(code *******)((int)pppppppcVar3 + (int)pppppppcVar9)" ( (type_descriptor "code *******" 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)pppppppcVar3 + (int)pppppppcVar9)" ( (binary_expression "(int)pppppppcVar3 + (int)pppppppcVar9" (cast_expression "(int)pppppppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar21 = pcVar21 + (int)pppppppcVar9;" (assignment_expression "pcVar21 = pcVar21 + (int)pppppppcVar9" identifier = (binary_expression "pcVar21 + (int)pppppppcVar9" identifier + (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar9;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pppppppcVar22 != (code *******)0x0)" ( (binary_expression "pppppppcVar22 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" else (compound_statement "{\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" { (expression_statement "pppppppcVar12[0xbb] = (code ******)0x0;" (assignment_expression "pppppppcVar12[0xbb] = (code ******)0x0" (subscript_expression "pppppppcVar12[0xbb]" identifier [ number_literal ]) = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcVar14 = (code *******)0x0;" (assignment_expression "pppppppcVar14 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);" (assignment_expression "pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66)" identifier = (binary_expression "pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66)" identifier + (cast_expression "(int)((int)pppppppcVar3 + 0x66)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcVar3 + 0x66)" ( (binary_expression "(int)pppppppcVar3 + 0x66" (cast_expression "(int)pppppppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pppppppcVar1 = pppppppcVar9;" (assignment_expression "pppppppcVar1 = pppppppcVar9" identifier = identifier) ;) }))))) (if_statement "if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }" if (parenthesized_expression "(piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c))" ( (binary_expression "piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)" identifier == (cast_expression "(int *)**(undefined4 **)(pcStack_1a0 + -0x713c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a0 + -0x713c)" * (pointer_expression "*(undefined4 **)(pcStack_1a0 + -0x713c)" * (cast_expression "(undefined4 **)(pcStack_1a0 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a0 + -0x713c)" ( (binary_expression "pcStack_1a0 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcVar14;\n  }" { (return_statement "return pppppppcVar14;" return identifier ;) })) (expression_statement "pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_1a0 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_1a0 + -0x74c8)" * (cast_expression "(code **)(pcStack_1a0 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a0 + -0x74c8)" ( (binary_expression "pcStack_1a0 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = FUN_00041844;" (assignment_expression "pcVar24 = FUN_00041844" identifier = identifier) ;) (expression_statement "piVar7 = piStack_194;" (assignment_expression "piVar7 = piStack_194" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_1cc = **(int **)(pcVar21 + 0x70790);" (assignment_expression "iStack_1cc = **(int **)(pcVar21 + 0x70790)" identifier = (pointer_expression "**(int **)(pcVar21 + 0x70790)" * (pointer_expression "*(int **)(pcVar21 + 0x70790)" * (cast_expression "(int **)(pcVar21 + 0x70790)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70790)" ( (binary_expression "pcVar21 + 0x70790" identifier + number_literal) )))))) ;) (expression_statement "pppppppcStack_1d4 = (code *******)0x0;" (assignment_expression "pppppppcStack_1d4 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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_1d0 = 0;" (assignment_expression "iStack_1d0 = 0" identifier = number_literal) ;) (expression_statement "pppppppcStack_1c8 = pppppppcVar12;" (assignment_expression "pppppppcStack_1c8 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcStack_1c0 = pppppppcVar22;" (assignment_expression "pppppppcStack_1c0 = pppppppcVar22" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar24;" (assignment_expression "pcStack_1bc = pcVar24" identifier = identifier) ;) (if_statement "if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" if (parenthesized_expression "(piVar7[0xbd] == 0)" ( (binary_expression "piVar7[0xbd] == 0" (subscript_expression "piVar7[0xbd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    pppppppcVar14 = (code *******)0xffffffff;\n  }" { (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" else (compound_statement "{\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" { (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = (code *******)&pppppppcStack_1d8" identifier = (cast_expression "(code *******)&pppppppcStack_1d8" ( (type_descriptor "code *******" 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 "&pppppppcStack_1d8" & identifier))) ;) (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" identifier = (call_expression "(**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x6fda0))" ( (pointer_expression "**(code **)(pcVar21 + 0x6fda0)" * (pointer_expression "*(code **)(pcVar21 + 0x6fda0)" * (cast_expression "(code **)(pcVar21 + 0x6fda0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6fda0)" ( (binary_expression "pcVar21 + 0x6fda0" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" ( (binary_expression "pppppppcVar18 + 1" identifier + number_literal) , identifier , (pointer_expression "&iStack_1d0" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }" { (if_statement "if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" if (parenthesized_expression "(iStack_1d0 == 0)" ( (binary_expression "iStack_1d0 == 0" identifier == number_literal) )) (compound_statement "{\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }" { (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" else (if_statement "if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" if (parenthesized_expression "(iStack_1d0 < 0)" ( (binary_expression "iStack_1d0 < 0" identifier < number_literal) )) (compound_statement "{\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6f900)" ( (binary_expression "pcVar21 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(pppppppcStack_1d8)" ( identifier ))) ;) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" else (compound_statement "{\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" { (expression_statement "uVar23 = (**(code **)(pcVar21 + 0x6fce0))();" (assignment_expression "uVar23 = (**(code **)(pcVar21 + 0x6fce0))()" identifier = (call_expression "(**(code **)(pcVar21 + 0x6fce0))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x6fce0))" ( (pointer_expression "**(code **)(pcVar21 + 0x6fce0)" * (pointer_expression "*(code **)(pcVar21 + 0x6fce0)" * (cast_expression "(code **)(pcVar21 + 0x6fce0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6fce0)" ( (binary_expression "pcVar21 + 0x6fce0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pppppppcVar9 = pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = pppppppcStack_1d8" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);" (assignment_expression "iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" identifier = (call_expression "(**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" (parenthesized_expression "(**(code **)(piVar7[0xbd] + 0x20))" ( (pointer_expression "**(code **)(piVar7[0xbd] + 0x20)" * (pointer_expression "*(code **)(piVar7[0xbd] + 0x20)" * (cast_expression "(code **)(piVar7[0xbd] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7[0xbd] + 0x20)" ( (binary_expression "piVar7[0xbd] + 0x20" (subscript_expression "piVar7[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" ( (subscript_expression "piVar7[0xbc]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" if (parenthesized_expression "(iVar2 < 1)" ( (binary_expression "iVar2 < 1" identifier < number_literal) )) (compound_statement "{\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6f900)" ( (binary_expression "pcVar21 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(pppppppcStack_1d8)" ( identifier ))) ;) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" else (compound_statement "{\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" { (if_statement "if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }" if (parenthesized_expression "(*(char *)(*piVar7 + 0x958) != '\0')" ( (binary_expression "*(char *)(*piVar7 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar7 + 0x958)" * (cast_expression "(char *)(*piVar7 + 0x958)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + 0x958)" ( (binary_expression "*piVar7 + 0x958" (pointer_expression "*piVar7" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }" { (expression_statement "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;" (assignment_expression "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + iVar2)" * (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2)" ( (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pppppppcVar9 = (code *******)0x1;" (assignment_expression "pppppppcVar9 = (code *******)0x1" identifier = (cast_expression "(code *******)0x1" ( (type_descriptor "code *******" 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_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);" (call_expression "FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1)" identifier (argument_list "(*piVar7,1,pppppppcStack_1d8,iVar2 + 1)" ( (pointer_expression "*piVar7" * identifier) , number_literal , identifier , (binary_expression "iVar2 + 1" identifier + number_literal) ))) ;) })) (expression_statement "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;" (assignment_expression "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + iVar2)" * (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2)" ( (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (if_statement "if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" if (parenthesized_expression "(iVar2 < 4)" ( (binary_expression "iVar2 < 4" identifier < number_literal) )) (compound_statement "{\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }" { (expression_statement "pppppppcVar14 = (code *******)0x0;" (assignment_expression "pppppppcVar14 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" else (compound_statement "{\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" { (if_statement "if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d)" ( (binary_expression "*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + 3)" * (cast_expression "(code *)((int)pppppppcStack_1d8 + 3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + 3)" ( (binary_expression "(int)pppppppcStack_1d8 + 3" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }" { (expression_statement "(**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);" (call_expression "(**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70494))" ( (pointer_expression "**(code **)(pcVar21 + 0x70494)" * (pointer_expression "*(code **)(pcVar21 + 0x70494)" * (cast_expression "(code **)(pcVar21 + 0x70494)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70494)" ( (binary_expression "pcVar21 + 0x70494" identifier + number_literal) ))))) )) (argument_list "(pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4)" ( identifier , (binary_expression "*(int *)(pcVar21 + 0x6f8f8) + 0x3a18" (pointer_expression "*(int *)(pcVar21 + 0x6f8f8)" * (cast_expression "(int *)(pcVar21 + 0x6f8f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x6f8f8)" ( (binary_expression "pcVar21 + 0x6f8f8" identifier + number_literal) )))) + number_literal) , (pointer_expression "&pppppppcStack_1d4" & identifier) ))) ;) })) (expression_statement "pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);" (assignment_expression "pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1)" identifier = (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2 + -1)" ( (binary_expression "(int)pppppppcStack_1d8 + iVar2 + -1" (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }" if (parenthesized_expression "(*pcVar24 == (code)0xa)" ( (binary_expression "*pcVar24 == (code)0xa" (pointer_expression "*pcVar24" * identifier) == (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n              *pcVar24 = (code)0x0;\n            }" { (expression_statement "*pcVar24 = (code)0x0;" (assignment_expression "*pcVar24 = (code)0x0" (pointer_expression "*pcVar24" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) (expression_statement "pppppppcVar9 = pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = pppppppcStack_1d8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);" (call_expression "(**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70108))" ( (pointer_expression "**(code **)(pcVar21 + 0x70108)" * (pointer_expression "*(code **)(pcVar21 + 0x70108)" * (cast_expression "(code **)(pcVar21 + 0x70108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70108)" ( (binary_expression "pcVar21 + 0x70108" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18,pppppppcStack_1d8)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6f900)" ( (binary_expression "pcVar21 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(pppppppcStack_1d8)" ( identifier ))) ;) (expression_statement "pppppppcVar14 = pppppppcStack_1d4;" (assignment_expression "pppppppcVar14 = pppppppcStack_1d4" identifier = identifier) ;) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }))) }))) }))))) }) (else_clause "else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" else (compound_statement "{\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" { (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }))) }))) (if_statement "if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }" if (parenthesized_expression "(iStack_1cc != **(int **)(pcVar21 + 0x70790))" ( (binary_expression "iStack_1cc != **(int **)(pcVar21 + 0x70790)" identifier != (pointer_expression "**(int **)(pcVar21 + 0x70790)" * (pointer_expression "*(int **)(pcVar21 + 0x70790)" * (cast_expression "(int **)(pcVar21 + 0x70790)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70790)" ( (binary_expression "pcVar21 + 0x70790" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }" { (expression_statement "pcVar21 = *(code **)(pcVar21 + 0x70404);" (assignment_expression "pcVar21 = *(code **)(pcVar21 + 0x70404)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x70404)" * (cast_expression "(code **)(pcVar21 + 0x70404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70404)" ( (binary_expression "pcVar21 + 0x70404" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = iStack_1cc;" (assignment_expression "iVar2 = iStack_1cc" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;" (assignment_expression "iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478" identifier = (binary_expression "*(int *)(pcVar21 + 0x6f6b4) + 0x478" (pointer_expression "*(int *)(pcVar21 + 0x6f6b4)" * (cast_expression "(int *)(pcVar21 + 0x6f6b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x6f6b4)" ( (binary_expression "pcVar21 + 0x6f6b4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);" do (compound_statement "{\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    }" { (expression_statement "uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);" (assignment_expression "uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar21 + 0x70424))(pppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70424))" ( (pointer_expression "**(code **)(pcVar21 + 0x70424)" * (pointer_expression "*(code **)(pcVar21 + 0x70424)" * (cast_expression "(code **)(pcVar21 + 0x70424)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70424)" ( (binary_expression "pcVar21 + 0x70424" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18)" ( identifier )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);" (assignment_expression "iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" identifier = (call_expression "(**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" (parenthesized_expression "(**(code **)(pcVar21 + 0x704b4))" ( (pointer_expression "**(code **)(pcVar21 + 0x704b4)" * (pointer_expression "*(code **)(pcVar21 + 0x704b4)" * (cast_expression "(code **)(pcVar21 + 0x704b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x704b4)" ( (binary_expression "pcVar21 + 0x704b4" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" ( identifier , (pointer_expression "*(undefined4 *)(iVar13 + 4)" * (cast_expression "(undefined4 *)(iVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 4)" ( (binary_expression "iVar13 + 4" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }" { (expression_statement "iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);" (assignment_expression "iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" identifier = (pointer_expression "*(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" * (cast_expression "(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" ( (binary_expression "iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478" (binary_expression "iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4)" (binary_expression "iVar11 * 8" identifier * number_literal) + (pointer_expression "*(int *)(pcVar21 + 0x6f6b4)" * (cast_expression "(int *)(pcVar21 + 0x6f6b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x6f6b4)" ( (binary_expression "pcVar21 + 0x6f6b4" identifier + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }" { (expression_statement "*(int *)(iVar2 + 0x2d8) = iVar11;" (assignment_expression "*(int *)(iVar2 + 0x2d8) = iVar11" (pointer_expression "*(int *)(iVar2 + 0x2d8)" * (cast_expression "(int *)(iVar2 + 0x2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2d8)" ( (binary_expression "iVar2 + 0x2d8" identifier + number_literal) )))) = identifier) ;) (return_statement "return (code *******)0x0;" return (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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) ;) })) (return_statement "return (code *******)0xffffffff;" return (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 8;" (assignment_expression "iVar13 = iVar13 + 8" identifier = (binary_expression "iVar13 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 4)" ( (binary_expression "iVar11 != 4" identifier != number_literal) )) ;) (return_statement "return (code *******)0xffffffff;" return (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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) ;) })) (return_statement "return pppppppcVar14;" return identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nCURLcode socket_write(connectdata *conn,curl_socket_t fd,void *to,size_t len)\n\n{\n  anon_union_4_2_1ffdf146_for_data aVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  CURLcode CVar4;\n  anon_union_4_2_1ffdf146_for_data aVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  Curl_easy *data;\n  int *piVar8;\n  curl_socket_t cVar9;\n  anon_union_4_2_1ffdf146_for_data aVar10;\n  anon_union_4_2_1ffdf146_for_data aVar11;\n  anon_union_4_2_1ffdf146_for_data bytesfromsocket;\n  char *pcVar12;\n  anon_union_4_2_1ffdf146_for_data unaff_s1;\n  int iVar13;\n  anon_union_4_2_1ffdf146_for_data aVar14;\n  int iVar15;\n  connectdata *unaff_s2;\n  anon_union_4_2_1ffdf146_for_data aVar16;\n  curl_socket_t unaff_s3;\n  anon_union_4_2_1ffdf146_for_data aVar17;\n  undefined1 *puVar18;\n  ssize_t *unaff_s4;\n  anon_union_4_2_1ffdf146_for_data aVar19;\n  undefined4 unaff_s5;\n  curl_socklen_t cVar20;\n  anon_union_4_2_1ffdf146_for_data aVar21;\n  CURLcode CVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  anon_union_4_2_1ffdf146_for_data aVar25;\n  undefined4 uVar26;\n  code *pcVar27;\n  anon_union_4_2_1ffdf146_for_data aStack_1d8;\n  CURLcode CStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  anon_union_4_2_1ffdf146_for_data aStack_1c8;\n  anon_union_4_2_1ffdf146_for_data aStack_1c4;\n  anon_union_4_2_1ffdf146_for_data aStack_1c0;\n  code *pcStack_1bc;\n  anon_union_4_2_1ffdf146_for_data aStack_198;\n  int *piStack_194;\n  anon_union_4_2_1ffdf146_for_data aStack_18c;\n  anon_union_4_2_1ffdf146_for_data aStack_188;\n  anon_union_4_2_1ffdf146_for_data aStack_184;\n  anon_union_4_2_1ffdf146_for_data aStack_180;\n  anon_union_4_2_1ffdf146_for_data aStack_17c;\n  curl_socklen_t cStack_178;\n  anon_union_4_2_1ffdf146_for_data aStack_174;\n  CURLcode CStack_170;\n  code *pcStack_16c;\n  code *pcStack_158;\n  undefined1 *puStack_14c;\n  Curl_easy *pCStack_148;\n  anon_union_4_2_1ffdf146_for_data aStack_144;\n  undefined1 auStack_140 [52];\n  anon_union_4_2_1ffdf146_for_data aStack_10c;\n  anon_union_4_2_1ffdf146_for_data aStack_104;\n  anon_union_4_2_1ffdf146_for_data aStack_100;\n  code *pcStack_fc;\n  anon_union_4_2_1ffdf146_for_data aStack_f0;\n  anon_union_4_2_1ffdf146_for_data aStack_ec;\n  code *pcStack_e8;\n  int iStack_e0;\n  anon_union_4_2_1ffdf146_for_data aStack_dc;\n  undefined4 *puStack_d8;\n  anon_union_4_2_1ffdf146_for_data aStack_d4;\n  anon_union_4_2_1ffdf146_for_data aStack_d0;\n  anon_union_4_2_1ffdf146_for_data aStack_cc;\n  anon_union_4_2_1ffdf146_for_data aStack_c8;\n  code *pcStack_c4;\n  anon_union_4_2_1ffdf146_for_data *paStack_b0;\n  undefined *puStack_a8;\n  anon_union_4_2_1ffdf146_for_data aStack_a0;\n  anon_union_4_2_1ffdf146_for_data aStack_9c;\n  int iStack_98;\n  int iStack_94;\n  char *pcStack_90;\n  int iStack_8c;\n  curl_socklen_t cStack_84;\n  anon_union_4_2_1ffdf146_for_data aStack_80;\n  undefined4 uStack_7c;\n  anon_union_4_2_1ffdf146_for_data aStack_78;\n  anon_union_4_2_1ffdf146_for_data aStack_74;\n  anon_union_4_2_1ffdf146_for_data aStack_70;\n  anon_union_4_2_1ffdf146_for_data aStack_6c;\n  connectdata *pcStack_68;\n  curl_socket_t cStack_64;\n  ssize_t *psStack_60;\n  undefined4 uStack_5c;\n  ssize_t *in_stack_ffffffc8;\n  ssize_t written;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  cVar9 = fd;\n  aVar16 = (anon_union_4_2_1ffdf146_for_data)len;\n  aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n  if (len != 0) {\n    unaff_s4 = &written;\n    unaff_s5 = 0x51;\n    unaff_s1.whatever = to;\n    do {\n      cVar9 = fd;\n      to = unaff_s1.whatever;\n      aVar16 = aVar5;\n      in_stack_ffffffc8 = unaff_s4;\n      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);\n      unaff_s2 = conn;\n      unaff_s3 = fd;\n      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;\n      len = (size_t)aVar5;\n      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n    } while ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return len;\n  }\n  puVar7 = local_24;\n  puVar23 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  puStack_a8 = puVar23 + 0x78154;\n  aStack_74 = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))->result;\n  aStack_a0 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66);\n  *in_stack_ffffffc8 = 0;\n  iVar13 = puVar7[0xb7];\n  aVar17 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18);\n  cVar20 = puVar7[0xbc];\n  aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n  aVar11 = aVar16;\n  aStack_70 = aVar5;\n  aStack_6c = unaff_s1;\n  pcStack_68 = unaff_s2;\n  cStack_64 = unaff_s3;\n  psStack_60 = unaff_s4;\n  uStack_5c = unaff_s5;\n  aVar1.whatever = (void *)(**(code **)(puVar23 + 0x70618))(iVar13);\n  aVar5 = aVar21;\n  iVar2 = (*(code *)aVar17)(cVar20);\n  aVar14.whatever = (void *)(iVar13 - iVar2);\n  if ((int)aVar14.whatever < 1) {\n    aVar14 = aVar16;\n  }\n  CVar22 = CURLE_OK;\n  if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n     ) {\n    iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84;\n    iStack_94 = *(int *)(puStack_a8 + -0x7fd4);\n    aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0);\n    pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94);\n    iStack_8c = *(int *)(puStack_a8 + -0x7fd4);\n    do {\n      if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }\n      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);\n      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n      aStack_78.whatever = (void *)0x0;\n      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n      aVar21 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }\n      paStack_b0 = &aStack_80;\n      aVar5.whatever = to;\n      aVar11 = aVar21;\n      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);\n      aVar10 = aStack_a0;\n      aStack_9c.whatever = aStack_80.whatever;\n      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }\nLAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;\n      to = (int)to + aVar14.whatever;\n      CVar22 = CVar22 + aVar14.result;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c)) {\n    return CVar22;\n  }\n  pcVar24 = *(code **)(puStack_a8 + -0x74c8);\n  pcVar27 = socket_read;\n  aVar25 = aStack_74;\n  (*pcVar24)();\n  pcStack_e8 = pcVar24 + 0x77d04;\n  aStack_dc = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))->whatever;\n  aVar10 = aVar1;\n  bytesfromsocket = aVar1;\n  aVar19.whatever = to;\n  puStack_d8 = puVar7;\n  aStack_d4 = aVar14;\n  aStack_d0 = aVar16;\n  aStack_cc = aVar17;\n  aStack_c8.whatever = to;\n  pcStack_c4 = pcVar27;\n  if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0)\n  {\n    aVar17.whatever = &iStack_e0;\n    aVar19.result = CURLE_AGAIN;\n    aVar14 = aVar5;\n    do {\n      aVar5 = aVar14;\n      aVar10 = bytesfromsocket;\n      aVar11.whatever = aVar17.whatever;\n      aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);\n      aVar16 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;\n      aVar1 = bytesfromsocket;\n      bytesfromsocket = aVar1;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c)) {\n    return (CURLcode)aVar1.whatever;\n  }\n  pcVar24 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar27 = ftp_send_command;\n  aVar1 = aStack_dc;\n  (*pcVar24)();\n  pcStack_158 = pcVar24 + 0x77c28;\n  aStack_10c = (anon_union_4_2_1ffdf146_for_data)\n               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))->whatever;\n  pCStack_148 = (Curl_easy *)0x0;\n  aVar25.whatever = &aStack_f0;\n  aStack_144.whatever = aVar25.whatever;\n  aStack_104 = bytesfromsocket;\n  aStack_100 = aVar14;\n  pcStack_fc = pcVar27;\n  aStack_f0 = aVar10;\n  aStack_ec = aVar11;\n  (**(code **)(pcVar24 + 0x70930))(auStack_140,0x32);\n  aVar11.whatever = auStack_140;\n  CVar4 = Curl_ftpsend(aVar1.result,auStack_140);\n  if (CVar4 == CURLE_OK) {\n    aVar5.whatever = &puStack_14c;\n    aVar11 = aVar1;\n    CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);\n    if (CVar4 == CURLE_OK) goto LAB_00041574;\n  }\n  puStack_14c = &DAT_ffffffff;\nLAB_00041574:\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)) {\n    return (CURLcode)puStack_14c;\n  }\n  pcVar24 = *(code **)(pcStack_158 + -0x74c8);\n  pcVar27 = sec_recv;\n  aVar14 = aStack_10c;\n  (*pcVar24)();\n  piStack_194 = (int *)**(undefined4 **)(pcVar24 + 0x70a00);\n  aVar11.whatever =\n       aVar14.whatever + (int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4;\n                    /* WARNING: Load size is inaccurate */\n  CVar4 = *aVar11.whatever;\n  *(undefined4 *)pcStack_158 = 0;\n  aVar10.whatever = auStack_140;\n  aStack_1c4 = aVar1;\n  aStack_18c.whatever = auStack_140;\n  aStack_188 = aVar1;\n  aStack_184 = aVar16;\n  aStack_180 = aVar17;\n  aStack_17c = aVar19;\n  cStack_178 = cVar20;\n  aStack_174 = aVar21;\n  CStack_170 = CVar22;\n  pcStack_16c = pcVar27;\n  if ((((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||\n     (aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar21 = aVar25;\n    aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4);\n    aVar11 = aVar5;\n    aVar14 = aVar10;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }\n    aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    aVar21 = aVar16;\n    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);\n    aVar25.whatever = aVar25.whatever - aVar16.whatever;\n    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);\n    aStack_1c4 = aVar16;\n    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcVar24 + 0x70a00)) {\n    return (CURLcode)aVar16.whatever;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0x70674);\n  pcVar27 = Curl_sec_read_msg;\n  piVar8 = piStack_194;\n  (*pcVar24)();\n  iStack_1cc = **(int **)(pcVar24 + 0x70790);\n  CStack_1d4 = CURLE_OK;\n  iStack_1d0 = 0;\n  aStack_1c8 = aVar14;\n  aStack_1c0 = aVar25;\n  pcStack_1bc = pcVar27;\n  if (piVar8[0xbd] == 0) {\n    CVar22 = ~CURLE_OK;\n  }\n  else {\n    aVar16.whatever = &aStack_1d8;\n    iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }\n    else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar24 + 0x70790)) {\n    pcVar24 = *(code **)(pcVar24 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar24)();\n    iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478;\n    iVar13 = 0;\n    do {\n      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);\n      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);\n      if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }\n      iVar13 = iVar13 + 1;\n      iVar15 = iVar15 + 8;\n    } while (iVar13 != 4);\n    return ~CURLE_OK;\n  }\n  return CVar22;\n}\n\n" comment comment (function_definition "CURLcode socket_write(connectdata *conn,curl_socket_t fd,void *to,size_t len)\n\n{\n  anon_union_4_2_1ffdf146_for_data aVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  CURLcode CVar4;\n  anon_union_4_2_1ffdf146_for_data aVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  Curl_easy *data;\n  int *piVar8;\n  curl_socket_t cVar9;\n  anon_union_4_2_1ffdf146_for_data aVar10;\n  anon_union_4_2_1ffdf146_for_data aVar11;\n  anon_union_4_2_1ffdf146_for_data bytesfromsocket;\n  char *pcVar12;\n  anon_union_4_2_1ffdf146_for_data unaff_s1;\n  int iVar13;\n  anon_union_4_2_1ffdf146_for_data aVar14;\n  int iVar15;\n  connectdata *unaff_s2;\n  anon_union_4_2_1ffdf146_for_data aVar16;\n  curl_socket_t unaff_s3;\n  anon_union_4_2_1ffdf146_for_data aVar17;\n  undefined1 *puVar18;\n  ssize_t *unaff_s4;\n  anon_union_4_2_1ffdf146_for_data aVar19;\n  undefined4 unaff_s5;\n  curl_socklen_t cVar20;\n  anon_union_4_2_1ffdf146_for_data aVar21;\n  CURLcode CVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  anon_union_4_2_1ffdf146_for_data aVar25;\n  undefined4 uVar26;\n  code *pcVar27;\n  anon_union_4_2_1ffdf146_for_data aStack_1d8;\n  CURLcode CStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  anon_union_4_2_1ffdf146_for_data aStack_1c8;\n  anon_union_4_2_1ffdf146_for_data aStack_1c4;\n  anon_union_4_2_1ffdf146_for_data aStack_1c0;\n  code *pcStack_1bc;\n  anon_union_4_2_1ffdf146_for_data aStack_198;\n  int *piStack_194;\n  anon_union_4_2_1ffdf146_for_data aStack_18c;\n  anon_union_4_2_1ffdf146_for_data aStack_188;\n  anon_union_4_2_1ffdf146_for_data aStack_184;\n  anon_union_4_2_1ffdf146_for_data aStack_180;\n  anon_union_4_2_1ffdf146_for_data aStack_17c;\n  curl_socklen_t cStack_178;\n  anon_union_4_2_1ffdf146_for_data aStack_174;\n  CURLcode CStack_170;\n  code *pcStack_16c;\n  code *pcStack_158;\n  undefined1 *puStack_14c;\n  Curl_easy *pCStack_148;\n  anon_union_4_2_1ffdf146_for_data aStack_144;\n  undefined1 auStack_140 [52];\n  anon_union_4_2_1ffdf146_for_data aStack_10c;\n  anon_union_4_2_1ffdf146_for_data aStack_104;\n  anon_union_4_2_1ffdf146_for_data aStack_100;\n  code *pcStack_fc;\n  anon_union_4_2_1ffdf146_for_data aStack_f0;\n  anon_union_4_2_1ffdf146_for_data aStack_ec;\n  code *pcStack_e8;\n  int iStack_e0;\n  anon_union_4_2_1ffdf146_for_data aStack_dc;\n  undefined4 *puStack_d8;\n  anon_union_4_2_1ffdf146_for_data aStack_d4;\n  anon_union_4_2_1ffdf146_for_data aStack_d0;\n  anon_union_4_2_1ffdf146_for_data aStack_cc;\n  anon_union_4_2_1ffdf146_for_data aStack_c8;\n  code *pcStack_c4;\n  anon_union_4_2_1ffdf146_for_data *paStack_b0;\n  undefined *puStack_a8;\n  anon_union_4_2_1ffdf146_for_data aStack_a0;\n  anon_union_4_2_1ffdf146_for_data aStack_9c;\n  int iStack_98;\n  int iStack_94;\n  char *pcStack_90;\n  int iStack_8c;\n  curl_socklen_t cStack_84;\n  anon_union_4_2_1ffdf146_for_data aStack_80;\n  undefined4 uStack_7c;\n  anon_union_4_2_1ffdf146_for_data aStack_78;\n  anon_union_4_2_1ffdf146_for_data aStack_74;\n  anon_union_4_2_1ffdf146_for_data aStack_70;\n  anon_union_4_2_1ffdf146_for_data aStack_6c;\n  connectdata *pcStack_68;\n  curl_socket_t cStack_64;\n  ssize_t *psStack_60;\n  undefined4 uStack_5c;\n  ssize_t *in_stack_ffffffc8;\n  ssize_t written;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  cVar9 = fd;\n  aVar16 = (anon_union_4_2_1ffdf146_for_data)len;\n  aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n  if (len != 0) {\n    unaff_s4 = &written;\n    unaff_s5 = 0x51;\n    unaff_s1.whatever = to;\n    do {\n      cVar9 = fd;\n      to = unaff_s1.whatever;\n      aVar16 = aVar5;\n      in_stack_ffffffc8 = unaff_s4;\n      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);\n      unaff_s2 = conn;\n      unaff_s3 = fd;\n      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;\n      len = (size_t)aVar5;\n      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n    } while ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return len;\n  }\n  puVar7 = local_24;\n  puVar23 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  puStack_a8 = puVar23 + 0x78154;\n  aStack_74 = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))->result;\n  aStack_a0 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66);\n  *in_stack_ffffffc8 = 0;\n  iVar13 = puVar7[0xb7];\n  aVar17 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18);\n  cVar20 = puVar7[0xbc];\n  aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n  aVar11 = aVar16;\n  aStack_70 = aVar5;\n  aStack_6c = unaff_s1;\n  pcStack_68 = unaff_s2;\n  cStack_64 = unaff_s3;\n  psStack_60 = unaff_s4;\n  uStack_5c = unaff_s5;\n  aVar1.whatever = (void *)(**(code **)(puVar23 + 0x70618))(iVar13);\n  aVar5 = aVar21;\n  iVar2 = (*(code *)aVar17)(cVar20);\n  aVar14.whatever = (void *)(iVar13 - iVar2);\n  if ((int)aVar14.whatever < 1) {\n    aVar14 = aVar16;\n  }\n  CVar22 = CURLE_OK;\n  if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n     ) {\n    iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84;\n    iStack_94 = *(int *)(puStack_a8 + -0x7fd4);\n    aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0);\n    pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94);\n    iStack_8c = *(int *)(puStack_a8 + -0x7fd4);\n    do {\n      if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }\n      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);\n      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n      aStack_78.whatever = (void *)0x0;\n      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n      aVar21 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }\n      paStack_b0 = &aStack_80;\n      aVar5.whatever = to;\n      aVar11 = aVar21;\n      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);\n      aVar10 = aStack_a0;\n      aStack_9c.whatever = aStack_80.whatever;\n      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }\nLAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;\n      to = (int)to + aVar14.whatever;\n      CVar22 = CVar22 + aVar14.result;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c)) {\n    return CVar22;\n  }\n  pcVar24 = *(code **)(puStack_a8 + -0x74c8);\n  pcVar27 = socket_read;\n  aVar25 = aStack_74;\n  (*pcVar24)();\n  pcStack_e8 = pcVar24 + 0x77d04;\n  aStack_dc = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))->whatever;\n  aVar10 = aVar1;\n  bytesfromsocket = aVar1;\n  aVar19.whatever = to;\n  puStack_d8 = puVar7;\n  aStack_d4 = aVar14;\n  aStack_d0 = aVar16;\n  aStack_cc = aVar17;\n  aStack_c8.whatever = to;\n  pcStack_c4 = pcVar27;\n  if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0)\n  {\n    aVar17.whatever = &iStack_e0;\n    aVar19.result = CURLE_AGAIN;\n    aVar14 = aVar5;\n    do {\n      aVar5 = aVar14;\n      aVar10 = bytesfromsocket;\n      aVar11.whatever = aVar17.whatever;\n      aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);\n      aVar16 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;\n      aVar1 = bytesfromsocket;\n      bytesfromsocket = aVar1;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c)) {\n    return (CURLcode)aVar1.whatever;\n  }\n  pcVar24 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar27 = ftp_send_command;\n  aVar1 = aStack_dc;\n  (*pcVar24)();\n  pcStack_158 = pcVar24 + 0x77c28;\n  aStack_10c = (anon_union_4_2_1ffdf146_for_data)\n               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))->whatever;\n  pCStack_148 = (Curl_easy *)0x0;\n  aVar25.whatever = &aStack_f0;\n  aStack_144.whatever = aVar25.whatever;\n  aStack_104 = bytesfromsocket;\n  aStack_100 = aVar14;\n  pcStack_fc = pcVar27;\n  aStack_f0 = aVar10;\n  aStack_ec = aVar11;\n  (**(code **)(pcVar24 + 0x70930))(auStack_140,0x32);\n  aVar11.whatever = auStack_140;\n  CVar4 = Curl_ftpsend(aVar1.result,auStack_140);\n  if (CVar4 == CURLE_OK) {\n    aVar5.whatever = &puStack_14c;\n    aVar11 = aVar1;\n    CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);\n    if (CVar4 == CURLE_OK) goto LAB_00041574;\n  }\n  puStack_14c = &DAT_ffffffff;\nLAB_00041574:\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)) {\n    return (CURLcode)puStack_14c;\n  }\n  pcVar24 = *(code **)(pcStack_158 + -0x74c8);\n  pcVar27 = sec_recv;\n  aVar14 = aStack_10c;\n  (*pcVar24)();\n  piStack_194 = (int *)**(undefined4 **)(pcVar24 + 0x70a00);\n  aVar11.whatever =\n       aVar14.whatever + (int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4;\n                    /* WARNING: Load size is inaccurate */\n  CVar4 = *aVar11.whatever;\n  *(undefined4 *)pcStack_158 = 0;\n  aVar10.whatever = auStack_140;\n  aStack_1c4 = aVar1;\n  aStack_18c.whatever = auStack_140;\n  aStack_188 = aVar1;\n  aStack_184 = aVar16;\n  aStack_180 = aVar17;\n  aStack_17c = aVar19;\n  cStack_178 = cVar20;\n  aStack_174 = aVar21;\n  CStack_170 = CVar22;\n  pcStack_16c = pcVar27;\n  if ((((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||\n     (aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar21 = aVar25;\n    aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4);\n    aVar11 = aVar5;\n    aVar14 = aVar10;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }\n    aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    aVar21 = aVar16;\n    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);\n    aVar25.whatever = aVar25.whatever - aVar16.whatever;\n    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);\n    aStack_1c4 = aVar16;\n    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcVar24 + 0x70a00)) {\n    return (CURLcode)aVar16.whatever;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0x70674);\n  pcVar27 = Curl_sec_read_msg;\n  piVar8 = piStack_194;\n  (*pcVar24)();\n  iStack_1cc = **(int **)(pcVar24 + 0x70790);\n  CStack_1d4 = CURLE_OK;\n  iStack_1d0 = 0;\n  aStack_1c8 = aVar14;\n  aStack_1c0 = aVar25;\n  pcStack_1bc = pcVar27;\n  if (piVar8[0xbd] == 0) {\n    CVar22 = ~CURLE_OK;\n  }\n  else {\n    aVar16.whatever = &aStack_1d8;\n    iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }\n    else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar24 + 0x70790)) {\n    pcVar24 = *(code **)(pcVar24 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar24)();\n    iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478;\n    iVar13 = 0;\n    do {\n      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);\n      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);\n      if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }\n      iVar13 = iVar13 + 1;\n      iVar15 = iVar15 + 8;\n    } while (iVar13 != 4);\n    return ~CURLE_OK;\n  }\n  return CVar22;\n}" type_identifier (function_declarator "socket_write(connectdata *conn,curl_socket_t fd,void *to,size_t len)" identifier (parameter_list "(connectdata *conn,curl_socket_t fd,void *to,size_t len)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) , (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  anon_union_4_2_1ffdf146_for_data aVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  CURLcode CVar4;\n  anon_union_4_2_1ffdf146_for_data aVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  Curl_easy *data;\n  int *piVar8;\n  curl_socket_t cVar9;\n  anon_union_4_2_1ffdf146_for_data aVar10;\n  anon_union_4_2_1ffdf146_for_data aVar11;\n  anon_union_4_2_1ffdf146_for_data bytesfromsocket;\n  char *pcVar12;\n  anon_union_4_2_1ffdf146_for_data unaff_s1;\n  int iVar13;\n  anon_union_4_2_1ffdf146_for_data aVar14;\n  int iVar15;\n  connectdata *unaff_s2;\n  anon_union_4_2_1ffdf146_for_data aVar16;\n  curl_socket_t unaff_s3;\n  anon_union_4_2_1ffdf146_for_data aVar17;\n  undefined1 *puVar18;\n  ssize_t *unaff_s4;\n  anon_union_4_2_1ffdf146_for_data aVar19;\n  undefined4 unaff_s5;\n  curl_socklen_t cVar20;\n  anon_union_4_2_1ffdf146_for_data aVar21;\n  CURLcode CVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  anon_union_4_2_1ffdf146_for_data aVar25;\n  undefined4 uVar26;\n  code *pcVar27;\n  anon_union_4_2_1ffdf146_for_data aStack_1d8;\n  CURLcode CStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  anon_union_4_2_1ffdf146_for_data aStack_1c8;\n  anon_union_4_2_1ffdf146_for_data aStack_1c4;\n  anon_union_4_2_1ffdf146_for_data aStack_1c0;\n  code *pcStack_1bc;\n  anon_union_4_2_1ffdf146_for_data aStack_198;\n  int *piStack_194;\n  anon_union_4_2_1ffdf146_for_data aStack_18c;\n  anon_union_4_2_1ffdf146_for_data aStack_188;\n  anon_union_4_2_1ffdf146_for_data aStack_184;\n  anon_union_4_2_1ffdf146_for_data aStack_180;\n  anon_union_4_2_1ffdf146_for_data aStack_17c;\n  curl_socklen_t cStack_178;\n  anon_union_4_2_1ffdf146_for_data aStack_174;\n  CURLcode CStack_170;\n  code *pcStack_16c;\n  code *pcStack_158;\n  undefined1 *puStack_14c;\n  Curl_easy *pCStack_148;\n  anon_union_4_2_1ffdf146_for_data aStack_144;\n  undefined1 auStack_140 [52];\n  anon_union_4_2_1ffdf146_for_data aStack_10c;\n  anon_union_4_2_1ffdf146_for_data aStack_104;\n  anon_union_4_2_1ffdf146_for_data aStack_100;\n  code *pcStack_fc;\n  anon_union_4_2_1ffdf146_for_data aStack_f0;\n  anon_union_4_2_1ffdf146_for_data aStack_ec;\n  code *pcStack_e8;\n  int iStack_e0;\n  anon_union_4_2_1ffdf146_for_data aStack_dc;\n  undefined4 *puStack_d8;\n  anon_union_4_2_1ffdf146_for_data aStack_d4;\n  anon_union_4_2_1ffdf146_for_data aStack_d0;\n  anon_union_4_2_1ffdf146_for_data aStack_cc;\n  anon_union_4_2_1ffdf146_for_data aStack_c8;\n  code *pcStack_c4;\n  anon_union_4_2_1ffdf146_for_data *paStack_b0;\n  undefined *puStack_a8;\n  anon_union_4_2_1ffdf146_for_data aStack_a0;\n  anon_union_4_2_1ffdf146_for_data aStack_9c;\n  int iStack_98;\n  int iStack_94;\n  char *pcStack_90;\n  int iStack_8c;\n  curl_socklen_t cStack_84;\n  anon_union_4_2_1ffdf146_for_data aStack_80;\n  undefined4 uStack_7c;\n  anon_union_4_2_1ffdf146_for_data aStack_78;\n  anon_union_4_2_1ffdf146_for_data aStack_74;\n  anon_union_4_2_1ffdf146_for_data aStack_70;\n  anon_union_4_2_1ffdf146_for_data aStack_6c;\n  connectdata *pcStack_68;\n  curl_socket_t cStack_64;\n  ssize_t *psStack_60;\n  undefined4 uStack_5c;\n  ssize_t *in_stack_ffffffc8;\n  ssize_t written;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  cVar9 = fd;\n  aVar16 = (anon_union_4_2_1ffdf146_for_data)len;\n  aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n  if (len != 0) {\n    unaff_s4 = &written;\n    unaff_s5 = 0x51;\n    unaff_s1.whatever = to;\n    do {\n      cVar9 = fd;\n      to = unaff_s1.whatever;\n      aVar16 = aVar5;\n      in_stack_ffffffc8 = unaff_s4;\n      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);\n      unaff_s2 = conn;\n      unaff_s3 = fd;\n      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;\n      len = (size_t)aVar5;\n      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n    } while ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return len;\n  }\n  puVar7 = local_24;\n  puVar23 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  puStack_a8 = puVar23 + 0x78154;\n  aStack_74 = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))->result;\n  aStack_a0 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66);\n  *in_stack_ffffffc8 = 0;\n  iVar13 = puVar7[0xb7];\n  aVar17 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18);\n  cVar20 = puVar7[0xbc];\n  aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n  aVar11 = aVar16;\n  aStack_70 = aVar5;\n  aStack_6c = unaff_s1;\n  pcStack_68 = unaff_s2;\n  cStack_64 = unaff_s3;\n  psStack_60 = unaff_s4;\n  uStack_5c = unaff_s5;\n  aVar1.whatever = (void *)(**(code **)(puVar23 + 0x70618))(iVar13);\n  aVar5 = aVar21;\n  iVar2 = (*(code *)aVar17)(cVar20);\n  aVar14.whatever = (void *)(iVar13 - iVar2);\n  if ((int)aVar14.whatever < 1) {\n    aVar14 = aVar16;\n  }\n  CVar22 = CURLE_OK;\n  if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n     ) {\n    iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84;\n    iStack_94 = *(int *)(puStack_a8 + -0x7fd4);\n    aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0);\n    pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94);\n    iStack_8c = *(int *)(puStack_a8 + -0x7fd4);\n    do {\n      if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }\n      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);\n      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n      aStack_78.whatever = (void *)0x0;\n      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n      aVar21 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }\n      paStack_b0 = &aStack_80;\n      aVar5.whatever = to;\n      aVar11 = aVar21;\n      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);\n      aVar10 = aStack_a0;\n      aStack_9c.whatever = aStack_80.whatever;\n      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }\nLAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;\n      to = (int)to + aVar14.whatever;\n      CVar22 = CVar22 + aVar14.result;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c)) {\n    return CVar22;\n  }\n  pcVar24 = *(code **)(puStack_a8 + -0x74c8);\n  pcVar27 = socket_read;\n  aVar25 = aStack_74;\n  (*pcVar24)();\n  pcStack_e8 = pcVar24 + 0x77d04;\n  aStack_dc = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))->whatever;\n  aVar10 = aVar1;\n  bytesfromsocket = aVar1;\n  aVar19.whatever = to;\n  puStack_d8 = puVar7;\n  aStack_d4 = aVar14;\n  aStack_d0 = aVar16;\n  aStack_cc = aVar17;\n  aStack_c8.whatever = to;\n  pcStack_c4 = pcVar27;\n  if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0)\n  {\n    aVar17.whatever = &iStack_e0;\n    aVar19.result = CURLE_AGAIN;\n    aVar14 = aVar5;\n    do {\n      aVar5 = aVar14;\n      aVar10 = bytesfromsocket;\n      aVar11.whatever = aVar17.whatever;\n      aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);\n      aVar16 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;\n      aVar1 = bytesfromsocket;\n      bytesfromsocket = aVar1;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c)) {\n    return (CURLcode)aVar1.whatever;\n  }\n  pcVar24 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar27 = ftp_send_command;\n  aVar1 = aStack_dc;\n  (*pcVar24)();\n  pcStack_158 = pcVar24 + 0x77c28;\n  aStack_10c = (anon_union_4_2_1ffdf146_for_data)\n               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))->whatever;\n  pCStack_148 = (Curl_easy *)0x0;\n  aVar25.whatever = &aStack_f0;\n  aStack_144.whatever = aVar25.whatever;\n  aStack_104 = bytesfromsocket;\n  aStack_100 = aVar14;\n  pcStack_fc = pcVar27;\n  aStack_f0 = aVar10;\n  aStack_ec = aVar11;\n  (**(code **)(pcVar24 + 0x70930))(auStack_140,0x32);\n  aVar11.whatever = auStack_140;\n  CVar4 = Curl_ftpsend(aVar1.result,auStack_140);\n  if (CVar4 == CURLE_OK) {\n    aVar5.whatever = &puStack_14c;\n    aVar11 = aVar1;\n    CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);\n    if (CVar4 == CURLE_OK) goto LAB_00041574;\n  }\n  puStack_14c = &DAT_ffffffff;\nLAB_00041574:\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)) {\n    return (CURLcode)puStack_14c;\n  }\n  pcVar24 = *(code **)(pcStack_158 + -0x74c8);\n  pcVar27 = sec_recv;\n  aVar14 = aStack_10c;\n  (*pcVar24)();\n  piStack_194 = (int *)**(undefined4 **)(pcVar24 + 0x70a00);\n  aVar11.whatever =\n       aVar14.whatever + (int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4;\n                    /* WARNING: Load size is inaccurate */\n  CVar4 = *aVar11.whatever;\n  *(undefined4 *)pcStack_158 = 0;\n  aVar10.whatever = auStack_140;\n  aStack_1c4 = aVar1;\n  aStack_18c.whatever = auStack_140;\n  aStack_188 = aVar1;\n  aStack_184 = aVar16;\n  aStack_180 = aVar17;\n  aStack_17c = aVar19;\n  cStack_178 = cVar20;\n  aStack_174 = aVar21;\n  CStack_170 = CVar22;\n  pcStack_16c = pcVar27;\n  if ((((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||\n     (aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar21 = aVar25;\n    aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4);\n    aVar11 = aVar5;\n    aVar14 = aVar10;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }\n    aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    aVar21 = aVar16;\n    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);\n    aVar25.whatever = aVar25.whatever - aVar16.whatever;\n    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);\n    aStack_1c4 = aVar16;\n    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcVar24 + 0x70a00)) {\n    return (CURLcode)aVar16.whatever;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0x70674);\n  pcVar27 = Curl_sec_read_msg;\n  piVar8 = piStack_194;\n  (*pcVar24)();\n  iStack_1cc = **(int **)(pcVar24 + 0x70790);\n  CStack_1d4 = CURLE_OK;\n  iStack_1d0 = 0;\n  aStack_1c8 = aVar14;\n  aStack_1c0 = aVar25;\n  pcStack_1bc = pcVar27;\n  if (piVar8[0xbd] == 0) {\n    CVar22 = ~CURLE_OK;\n  }\n  else {\n    aVar16.whatever = &aStack_1d8;\n    iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }\n    else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar24 + 0x70790)) {\n    pcVar24 = *(code **)(pcVar24 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar24)();\n    iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478;\n    iVar13 = 0;\n    do {\n      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);\n      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);\n      if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }\n      iVar13 = iVar13 + 1;\n      iVar15 = iVar15 + 8;\n    } while (iVar13 != 4);\n    return ~CURLE_OK;\n  }\n  return CVar22;\n}" { (declaration "anon_union_4_2_1ffdf146_for_data aVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "CURLcode CVar4;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "Curl_easy *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "curl_socket_t cVar9;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar10;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar11;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data bytesfromsocket;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data unaff_s1;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "connectdata *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar16;" type_identifier identifier ;) (declaration "curl_socket_t unaff_s3;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar17;" type_identifier identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ssize_t *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar19;" type_identifier identifier ;) (declaration "undefined4 unaff_s5;" type_identifier identifier ;) (declaration "curl_socklen_t cVar20;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar21;" type_identifier identifier ;) (declaration "CURLcode CVar22;" type_identifier identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar25;" type_identifier identifier ;) (declaration "undefined4 uVar26;" type_identifier identifier ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_1d8;" type_identifier identifier ;) (declaration "CURLcode CStack_1d4;" type_identifier identifier ;) (declaration "int iStack_1d0;" primitive_type identifier ;) (declaration "int iStack_1cc;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_1c8;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_1c4;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_1c0;" type_identifier identifier ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_198;" type_identifier identifier ;) (declaration "int *piStack_194;" primitive_type (pointer_declarator "*piStack_194" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_18c;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_188;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_184;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_180;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_17c;" type_identifier identifier ;) (declaration "curl_socklen_t cStack_178;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_174;" type_identifier identifier ;) (declaration "CURLcode CStack_170;" type_identifier identifier ;) (declaration "code *pcStack_16c;" type_identifier (pointer_declarator "*pcStack_16c" * identifier) ;) (declaration "code *pcStack_158;" type_identifier (pointer_declarator "*pcStack_158" * identifier) ;) (declaration "undefined1 *puStack_14c;" type_identifier (pointer_declarator "*puStack_14c" * identifier) ;) (declaration "Curl_easy *pCStack_148;" type_identifier (pointer_declarator "*pCStack_148" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_144;" type_identifier identifier ;) (declaration "undefined1 auStack_140 [52];" type_identifier (array_declarator "auStack_140 [52]" identifier [ number_literal ]) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_10c;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_104;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_100;" type_identifier identifier ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_f0;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_ec;" type_identifier identifier ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "int iStack_e0;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_dc;" type_identifier identifier ;) (declaration "undefined4 *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * 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 "anon_union_4_2_1ffdf146_for_data aStack_cc;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_c8;" type_identifier identifier ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data *paStack_b0;" type_identifier (pointer_declarator "*paStack_b0" * identifier) ;) (declaration "undefined *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_a0;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_9c;" type_identifier identifier ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (declaration "char *pcStack_90;" primitive_type (pointer_declarator "*pcStack_90" * identifier) ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "curl_socklen_t cStack_84;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_80;" type_identifier identifier ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_78;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_74;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_70;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_6c;" type_identifier identifier ;) (declaration "connectdata *pcStack_68;" type_identifier (pointer_declarator "*pcStack_68" * identifier) ;) (declaration "curl_socket_t cStack_64;" type_identifier identifier ;) (declaration "ssize_t *psStack_60;" primitive_type (pointer_declarator "*psStack_60" * identifier) ;) (declaration "undefined4 uStack_5c;" type_identifier identifier ;) (declaration "ssize_t *in_stack_ffffffc8;" primitive_type (pointer_declarator "*in_stack_ffffffc8" * identifier) ;) (declaration "ssize_t written;" primitive_type identifier ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;" (assignment_expression "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4" identifier = (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" * (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar9 = fd;" (assignment_expression "cVar9 = fd" identifier = identifier) ;) (expression_statement "aVar16 = (anon_union_4_2_1ffdf146_for_data)len;" (assignment_expression "aVar16 = (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 "aVar5 = (anon_union_4_2_1ffdf146_for_data)len;" (assignment_expression "aVar5 = (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)) ;) (if_statement "if (len != 0) {\n    unaff_s4 = &written;\n    unaff_s5 = 0x51;\n    unaff_s1.whatever = to;\n    do {\n      cVar9 = fd;\n      to = unaff_s1.whatever;\n      aVar16 = aVar5;\n      in_stack_ffffffc8 = unaff_s4;\n      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);\n      unaff_s2 = conn;\n      unaff_s3 = fd;\n      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;\n      len = (size_t)aVar5;\n      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n    } while ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }" if (parenthesized_expression "(len != 0)" ( (binary_expression "len != 0" identifier != number_literal) )) (compound_statement "{\n    unaff_s4 = &written;\n    unaff_s5 = 0x51;\n    unaff_s1.whatever = to;\n    do {\n      cVar9 = fd;\n      to = unaff_s1.whatever;\n      aVar16 = aVar5;\n      in_stack_ffffffc8 = unaff_s4;\n      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);\n      unaff_s2 = conn;\n      unaff_s3 = fd;\n      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;\n      len = (size_t)aVar5;\n      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n    } while ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }" { (expression_statement "unaff_s4 = &written;" (assignment_expression "unaff_s4 = &written" identifier = (pointer_expression "&written" & identifier)) ;) (expression_statement "unaff_s5 = 0x51;" (assignment_expression "unaff_s5 = 0x51" identifier = number_literal) ;) (expression_statement "unaff_s1.whatever = to;" (assignment_expression "unaff_s1.whatever = to" (field_expression "unaff_s1.whatever" identifier . field_identifier) = identifier) ;) (do_statement "do {\n      cVar9 = fd;\n      to = unaff_s1.whatever;\n      aVar16 = aVar5;\n      in_stack_ffffffc8 = unaff_s4;\n      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);\n      unaff_s2 = conn;\n      unaff_s3 = fd;\n      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;\n      len = (size_t)aVar5;\n      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n    } while ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0);" do (compound_statement "{\n      cVar9 = fd;\n      to = unaff_s1.whatever;\n      aVar16 = aVar5;\n      in_stack_ffffffc8 = unaff_s4;\n      len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);\n      unaff_s2 = conn;\n      unaff_s3 = fd;\n      if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;\n      len = (size_t)aVar5;\n      aVar5 = (anon_union_4_2_1ffdf146_for_data)len;\n    }" { (expression_statement "cVar9 = fd;" (assignment_expression "cVar9 = fd" identifier = identifier) ;) (expression_statement "to = unaff_s1.whatever;" (assignment_expression "to = unaff_s1.whatever" identifier = (field_expression "unaff_s1.whatever" identifier . field_identifier)) ;) (expression_statement "aVar16 = aVar5;" (assignment_expression "aVar16 = aVar5" identifier = identifier) ;) (expression_statement "in_stack_ffffffc8 = unaff_s4;" (assignment_expression "in_stack_ffffffc8 = unaff_s4" identifier = identifier) ;) (expression_statement "len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);" (assignment_expression "len = Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4)" identifier = (call_expression "Curl_write_plain(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4)" identifier (argument_list "(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4)" ( identifier , identifier , (field_expression "unaff_s1.whatever" identifier . field_identifier) , (field_expression "aVar5.result" identifier . field_identifier) , identifier )))) ;) (expression_statement "unaff_s2 = conn;" (assignment_expression "unaff_s2 = conn" identifier = identifier) ;) (expression_statement "unaff_s3 = fd;" (assignment_expression "unaff_s3 = fd" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)len == (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)len" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) 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        unaff_s1.whatever = unaff_s1.whatever + written;\n        aVar5.whatever = aVar5.whatever - written;\n      }" { (expression_statement "unaff_s1.whatever = unaff_s1.whatever + written;" (assignment_expression "unaff_s1.whatever = unaff_s1.whatever + written" (field_expression "unaff_s1.whatever" identifier . field_identifier) = (binary_expression "unaff_s1.whatever + written" (field_expression "unaff_s1.whatever" identifier . field_identifier) + identifier)) ;) (expression_statement "aVar5.whatever = aVar5.whatever - written;" (assignment_expression "aVar5.whatever = aVar5.whatever - written" (field_expression "aVar5.whatever" identifier . field_identifier) = (binary_expression "aVar5.whatever - written" (field_expression "aVar5.whatever" identifier . field_identifier) - identifier)) ;) }) (else_clause "else if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;" else (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)\n      break;" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x51" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)len" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x51" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)))) (expression_statement "len = (size_t)aVar5;" (assignment_expression "len = (size_t)aVar5" identifier = (cast_expression "(size_t)aVar5" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "aVar5 = (anon_union_4_2_1ffdf146_for_data)len;" (assignment_expression "aVar5 = (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)) ;) }) while (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)len != (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)len" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) 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)) )) ;) })) (if_statement "if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return len;\n  }" if (parenthesized_expression "(local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4)" ( (binary_expression "local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4" identifier == (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" * (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return len;\n  }" { (return_statement "return len;" return identifier ;) })) (expression_statement "puVar7 = local_24;" (assignment_expression "puVar7 = local_24" identifier = identifier) ;) (expression_statement "puVar23 = PTR___stack_chk_fail_000b1c48;" (assignment_expression "puVar23 = PTR___stack_chk_fail_000b1c48" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b1c48)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b1c48)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b1c48)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b1c48" * (cast_expression "(code *)PTR___stack_chk_fail_000b1c48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_a8 = puVar23 + 0x78154;" (assignment_expression "puStack_a8 = puVar23 + 0x78154" identifier = (binary_expression "puVar23 + 0x78154" identifier + number_literal)) ;) (expression_statement "aStack_74 = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))->result;" (assignment_expression "aStack_74 = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))->result" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))->result" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "(*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018))" ( (pointer_expression "*(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018)" * (cast_expression "(anon_union_4_2_1ffdf146_for_data **)(puVar23 + 0x71018)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x71018)" ( (binary_expression "puVar23 + 0x71018" identifier + number_literal) )))) ))) -> field_identifier)) ;) (expression_statement "aStack_a0 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66);" (assignment_expression "aStack_a0 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66)" identifier = (pointer_expression "*(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66)" * (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(puVar7 + cVar9 + 0x66)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + cVar9 + 0x66)" ( (binary_expression "puVar7 + cVar9 + 0x66" (binary_expression "puVar7 + cVar9" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*in_stack_ffffffc8 = 0;" (assignment_expression "*in_stack_ffffffc8 = 0" (pointer_expression "*in_stack_ffffffc8" * identifier) = number_literal) ;) (expression_statement "iVar13 = puVar7[0xb7];" (assignment_expression "iVar13 = puVar7[0xb7]" identifier = (subscript_expression "puVar7[0xb7]" identifier [ number_literal ])) ;) (expression_statement "aVar17 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18);" (assignment_expression "aVar17 = *(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18)" identifier = (pointer_expression "*(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18)" * (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(puVar7[0xbd] + 0x18)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7[0xbd] + 0x18)" ( (binary_expression "puVar7[0xbd] + 0x18" (subscript_expression "puVar7[0xbd]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "cVar20 = puVar7[0xbc];" (assignment_expression "cVar20 = puVar7[0xbc]" identifier = (subscript_expression "puVar7[0xbc]" identifier [ number_literal ])) ;) (expression_statement "aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];" (assignment_expression "aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5]" identifier = (cast_expression "(anon_union_4_2_1ffdf146_for_data)puVar7[0xb5]" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data" type_identifier) ) (subscript_expression "puVar7[0xb5]" identifier [ number_literal ]))) ;) (expression_statement "aVar11 = aVar16;" (assignment_expression "aVar11 = aVar16" identifier = identifier) ;) (expression_statement "aStack_70 = aVar5;" (assignment_expression "aStack_70 = aVar5" identifier = identifier) ;) (expression_statement "aStack_6c = unaff_s1;" (assignment_expression "aStack_6c = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_68 = unaff_s2;" (assignment_expression "pcStack_68 = unaff_s2" identifier = identifier) ;) (expression_statement "cStack_64 = unaff_s3;" (assignment_expression "cStack_64 = unaff_s3" identifier = identifier) ;) (expression_statement "psStack_60 = unaff_s4;" (assignment_expression "psStack_60 = unaff_s4" identifier = identifier) ;) (expression_statement "uStack_5c = unaff_s5;" (assignment_expression "uStack_5c = unaff_s5" identifier = identifier) ;) (expression_statement "aVar1.whatever = (void *)(**(code **)(puVar23 + 0x70618))(iVar13);" (assignment_expression "aVar1.whatever = (void *)(**(code **)(puVar23 + 0x70618))(iVar13)" (field_expression "aVar1.whatever" identifier . field_identifier) = (cast_expression "(void *)(**(code **)(puVar23 + 0x70618))(iVar13)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar23 + 0x70618))(iVar13)" (parenthesized_expression "(**(code **)(puVar23 + 0x70618))" ( (pointer_expression "**(code **)(puVar23 + 0x70618)" * (pointer_expression "*(code **)(puVar23 + 0x70618)" * (cast_expression "(code **)(puVar23 + 0x70618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x70618)" ( (binary_expression "puVar23 + 0x70618" identifier + number_literal) ))))) )) (argument_list "(iVar13)" ( identifier ))))) ;) (expression_statement "aVar5 = aVar21;" (assignment_expression "aVar5 = aVar21" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)aVar17)(cVar20);" (assignment_expression "iVar2 = (*(code *)aVar17)(cVar20)" identifier = (call_expression "(*(code *)aVar17)(cVar20)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(cVar20)" ( identifier )))) ;) (expression_statement "aVar14.whatever = (void *)(iVar13 - iVar2);" (assignment_expression "aVar14.whatever = (void *)(iVar13 - iVar2)" (field_expression "aVar14.whatever" identifier . field_identifier) = (cast_expression "(void *)(iVar13 - iVar2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 - iVar2)" ( (binary_expression "iVar13 - iVar2" identifier - identifier) )))) ;) (if_statement "if ((int)aVar14.whatever < 1) {\n    aVar14 = aVar16;\n  }" if (parenthesized_expression "((int)aVar14.whatever < 1)" ( (binary_expression "(int)aVar14.whatever < 1" (cast_expression "(int)aVar14.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar14.whatever" identifier . field_identifier)) < number_literal) )) (compound_statement "{\n    aVar14 = aVar16;\n  }" { (expression_statement "aVar14 = aVar16;" (assignment_expression "aVar14 = aVar16" identifier = identifier) ;) })) (expression_statement "CVar22 = CURLE_OK;" (assignment_expression "CVar22 = CURLE_OK" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n     ) {\n    iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84;\n    iStack_94 = *(int *)(puStack_a8 + -0x7fd4);\n    aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0);\n    pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94);\n    iStack_8c = *(int *)(puStack_a8 + -0x7fd4);\n    do {\n      if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }\n      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);\n      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n      aStack_78.whatever = (void *)0x0;\n      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n      aVar21 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }\n      paStack_b0 = &aStack_80;\n      aVar5.whatever = to;\n      aVar11 = aVar21;\n      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);\n      aVar10 = aStack_a0;\n      aStack_9c.whatever = aStack_80.whatever;\n      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }\nLAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;\n      to = (int)to + aVar14.whatever;\n      CVar22 = CVar22 + aVar14.result;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n     )" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar16.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar16.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar16.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    iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84;\n    iStack_94 = *(int *)(puStack_a8 + -0x7fd4);\n    aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0);\n    pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94);\n    iStack_8c = *(int *)(puStack_a8 + -0x7fd4);\n    do {\n      if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }\n      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);\n      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n      aStack_78.whatever = (void *)0x0;\n      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n      aVar21 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }\n      paStack_b0 = &aStack_80;\n      aVar5.whatever = to;\n      aVar11 = aVar21;\n      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);\n      aVar10 = aStack_a0;\n      aStack_9c.whatever = aStack_80.whatever;\n      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }\nLAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;\n      to = (int)to + aVar14.whatever;\n      CVar22 = CVar22 + aVar14.result;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }" { (expression_statement "iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84;" (assignment_expression "iStack_98 = *(int *)(puStack_a8 + -0x7fd4) + 0x6c84" identifier = (binary_expression "*(int *)(puStack_a8 + -0x7fd4) + 0x6c84" (pointer_expression "*(int *)(puStack_a8 + -0x7fd4)" * (cast_expression "(int *)(puStack_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7fd4)" ( (binary_expression "puStack_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iStack_94 = *(int *)(puStack_a8 + -0x7fd4);" (assignment_expression "iStack_94 = *(int *)(puStack_a8 + -0x7fd4)" identifier = (pointer_expression "*(int *)(puStack_a8 + -0x7fd4)" * (cast_expression "(int *)(puStack_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7fd4)" ( (binary_expression "puStack_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0);" (assignment_expression "aVar17.whatever = (void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0)" (field_expression "aVar17.whatever" identifier . field_identifier) = (cast_expression "(void *)(*(int *)(puStack_a8 + -0x7be0) + 0xed0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_a8 + -0x7be0) + 0xed0)" ( (binary_expression "*(int *)(puStack_a8 + -0x7be0) + 0xed0" (pointer_expression "*(int *)(puStack_a8 + -0x7be0)" * (cast_expression "(int *)(puStack_a8 + -0x7be0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7be0)" ( (binary_expression "puStack_a8 + -0x7be0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94);" (assignment_expression "pcStack_90 = (char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94)" identifier = (cast_expression "(char *)(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_a8 + -0x7fd4) + 0x6c94)" ( (binary_expression "*(int *)(puStack_a8 + -0x7fd4) + 0x6c94" (pointer_expression "*(int *)(puStack_a8 + -0x7fd4)" * (cast_expression "(int *)(puStack_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7fd4)" ( (binary_expression "puStack_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_8c = *(int *)(puStack_a8 + -0x7fd4);" (assignment_expression "iStack_8c = *(int *)(puStack_a8 + -0x7fd4)" identifier = (pointer_expression "*(int *)(puStack_a8 + -0x7fd4)" * (cast_expression "(int *)(puStack_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7fd4)" ( (binary_expression "puStack_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }\n      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);\n      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n      aStack_78.whatever = (void *)0x0;\n      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n      aVar21 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }\n      paStack_b0 = &aStack_80;\n      aVar5.whatever = to;\n      aVar11 = aVar21;\n      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);\n      aVar10 = aStack_a0;\n      aStack_9c.whatever = aStack_80.whatever;\n      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }\nLAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;\n      to = (int)to + aVar14.whatever;\n      CVar22 = CVar22 + aVar14.result;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);" do (compound_statement "{\n      if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }\n      aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);\n      aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n      aStack_78.whatever = (void *)0x0;\n      aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];\n      aVar21 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }\n      paStack_b0 = &aStack_80;\n      aVar5.whatever = to;\n      aVar11 = aVar21;\n      cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);\n      aVar10 = aStack_a0;\n      aStack_9c.whatever = aStack_80.whatever;\n      if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }\nLAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;\n      to = (int)to + aVar14.whatever;\n      CVar22 = CVar22 + aVar14.result;\n    }" { (if_statement "if (aVar16.whatever < aVar14.whatever) {\n        aVar14 = aVar16;\n      }" if (parenthesized_expression "(aVar16.whatever < aVar14.whatever)" ( (binary_expression "aVar16.whatever < aVar14.whatever" (field_expression "aVar16.whatever" identifier . field_identifier) < (field_expression "aVar14.whatever" identifier . field_identifier)) )) (compound_statement "{\n        aVar14 = aVar16;\n      }" { (expression_statement "aVar14 = aVar16;" (assignment_expression "aVar14 = aVar16" identifier = identifier) ;) })) (expression_statement "aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever);" (assignment_expression "aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever)" (field_expression "aVar1.whatever" identifier . field_identifier) = (cast_expression "(void *)(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_a8 + -0x7b3c))(aVar14.whatever)" (parenthesized_expression "(**(code **)(puStack_a8 + -0x7b3c))" ( (pointer_expression "**(code **)(puStack_a8 + -0x7b3c)" * (pointer_expression "*(code **)(puStack_a8 + -0x7b3c)" * (cast_expression "(code **)(puStack_a8 + -0x7b3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7b3c)" ( (binary_expression "puStack_a8 + -0x7b3c" identifier + number_literal) ))))) )) (argument_list "(aVar14.whatever)" ( (field_expression "aVar14.whatever" identifier . field_identifier) ))))) ;) (expression_statement "aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;" (assignment_expression "aStack_80.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0" (field_expression "aStack_80.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 "aStack_78.whatever = (void *)0x0;" (assignment_expression "aStack_78.whatever = (void *)0x0" (field_expression "aStack_78.whatever" identifier . field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5];" (assignment_expression "aVar25 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb5]" identifier = (cast_expression "(anon_union_4_2_1ffdf146_for_data)puVar7[0xb5]" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data" type_identifier) ) (subscript_expression "puVar7[0xb5]" identifier [ number_literal ]))) ;) (expression_statement "aVar21 = aVar25;" (assignment_expression "aVar21 = aVar25" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar25.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)&DAT_00000005" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) )) (compound_statement "{\n        iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }\n      }" { (expression_statement "iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5);" (assignment_expression "iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5)" identifier = (call_expression "(**(code **)(puStack_a8 + -0x7588))(to,iStack_98,5)" (parenthesized_expression "(**(code **)(puStack_a8 + -0x7588))" ( (pointer_expression "**(code **)(puStack_a8 + -0x7588)" * (pointer_expression "*(code **)(puStack_a8 + -0x7588)" * (cast_expression "(code **)(puStack_a8 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7588)" ( (binary_expression "puStack_a8 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(to,iStack_98,5)" ( identifier , identifier , number_literal )))) ;) (expression_statement "aVar21.result = CURLE_NOT_BUILT_IN;" (assignment_expression "aVar21.result = CURLE_NOT_BUILT_IN" (field_expression "aVar21.result" identifier . field_identifier) = identifier) ;) (if_statement "if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)) {\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }" if (parenthesized_expression "((iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0))" ( (binary_expression "(iVar2 != 0) &&\n           (iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0)" ( (comma_expression "iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5), iVar2 != 0" (assignment_expression "iVar2 = (**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5)" identifier = (call_expression "(**(code **)(puStack_a8 + -0x7588))(to,iStack_94 + 0x6c8c,5)" (parenthesized_expression "(**(code **)(puStack_a8 + -0x7588))" ( (pointer_expression "**(code **)(puStack_a8 + -0x7588)" * (pointer_expression "*(code **)(puStack_a8 + -0x7588)" * (cast_expression "(code **)(puStack_a8 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7588)" ( (binary_expression "puStack_a8 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(to,iStack_94 + 0x6c8c,5)" ( identifier , (binary_expression "iStack_94 + 0x6c8c" identifier + number_literal) , number_literal )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];\n        }" { (expression_statement "aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4];" (assignment_expression "aVar21 = (anon_union_4_2_1ffdf146_for_data)puVar7[0xb4]" identifier = (cast_expression "(anon_union_4_2_1ffdf146_for_data)puVar7[0xb4]" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data" type_identifier) ) (subscript_expression "puVar7[0xb4]" identifier [ number_literal ]))) ;) })) })) (expression_statement "paStack_b0 = &aStack_80;" (assignment_expression "paStack_b0 = &aStack_80" identifier = (pointer_expression "&aStack_80" & identifier)) ;) (expression_statement "aVar5.whatever = to;" (assignment_expression "aVar5.whatever = to" (field_expression "aVar5.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "aVar11 = aVar21;" (assignment_expression "aVar11 = aVar21" identifier = identifier) ;) (expression_statement "cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc]);" (assignment_expression "cVar20 = (**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc])" identifier = (call_expression "(**(code **)(puVar7[0xbd] + 0x1c))(puVar7[0xbc])" (parenthesized_expression "(**(code **)(puVar7[0xbd] + 0x1c))" ( (pointer_expression "**(code **)(puVar7[0xbd] + 0x1c)" * (pointer_expression "*(code **)(puVar7[0xbd] + 0x1c)" * (cast_expression "(code **)(puVar7[0xbd] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7[0xbd] + 0x1c)" ( (binary_expression "puVar7[0xbd] + 0x1c" (subscript_expression "puVar7[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar7[0xbc])" ( (subscript_expression "puVar7[0xbc]" identifier [ number_literal ]) )))) ;) (expression_statement "aVar10 = aStack_a0;" (assignment_expression "aVar10 = aStack_a0" identifier = identifier) ;) (expression_statement "aStack_9c.whatever = aStack_80.whatever;" (assignment_expression "aStack_9c.whatever = aStack_80.whatever" (field_expression "aStack_9c.whatever" identifier . field_identifier) = (field_expression "aStack_80.whatever" identifier . field_identifier)) ;) (if_statement "if (((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)) {\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }" if (parenthesized_expression "(((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20))" ( (binary_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0) && (0 < (int)cVar20)" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever !=\n           (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_80.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_80.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 "(0 < (int)cVar20)" ( (binary_expression "0 < (int)cVar20" number_literal < (cast_expression "(int)cVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }\n        (*(code *)*puVar3)(aStack_80.whatever);\n      }" { (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005) {\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }\n        else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)&DAT_00000005" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar25.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)&DAT_00000005" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) )) (compound_statement "{\n          uVar26 = *puVar7;\n          aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          paStack_b0 = &aStack_78;\n          aVar11.whatever = &uStack_7c;\n          aVar5 = aStack_9c;\n          iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);\n          iVar2 = iStack_8c;\n          aVar25 = aStack_a0;\n          if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }\n        }" { (expression_statement "uVar26 = *puVar7;" (assignment_expression "uVar26 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);" (assignment_expression "aVar1.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20)" (field_expression "aVar1.whatever" identifier . field_identifier) = (cast_expression "(void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_a8 + -0x7b38))(cVar20)" (parenthesized_expression "(**(code **)(puStack_a8 + -0x7b38))" ( (pointer_expression "**(code **)(puStack_a8 + -0x7b38)" * (pointer_expression "*(code **)(puStack_a8 + -0x7b38)" * (cast_expression "(code **)(puStack_a8 + -0x7b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7b38)" ( (binary_expression "puStack_a8 + -0x7b38" identifier + number_literal) ))))) )) (argument_list "(cVar20)" ( identifier ))))) ;) (expression_statement "paStack_b0 = &aStack_78;" (assignment_expression "paStack_b0 = &aStack_78" identifier = (pointer_expression "&aStack_78" & identifier)) ;) (expression_statement "aVar11.whatever = &uStack_7c;" (assignment_expression "aVar11.whatever = &uStack_7c" (field_expression "aVar11.whatever" identifier . field_identifier) = (pointer_expression "&uStack_7c" & identifier)) ;) (expression_statement "aVar5 = aStack_9c;" (assignment_expression "aVar5 = aStack_9c" identifier = identifier) ;) (expression_statement "iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26);" (assignment_expression "iVar13 = (**(code **)(puStack_a8 + -0x7e58))(uVar26)" identifier = (call_expression "(**(code **)(puStack_a8 + -0x7e58))(uVar26)" (parenthesized_expression "(**(code **)(puStack_a8 + -0x7e58))" ( (pointer_expression "**(code **)(puStack_a8 + -0x7e58)" * (pointer_expression "*(code **)(puStack_a8 + -0x7e58)" * (cast_expression "(code **)(puStack_a8 + -0x7e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7e58)" ( (binary_expression "puStack_a8 + -0x7e58" identifier + number_literal) ))))) )) (argument_list "(uVar26)" ( identifier )))) ;) (expression_statement "iVar2 = iStack_8c;" (assignment_expression "iVar2 = iStack_8c" identifier = identifier) ;) (expression_statement "aVar25 = aStack_a0;" (assignment_expression "aVar25 = aStack_a0" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n            (*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);\n            goto LAB_00041228;\n          }" { (expression_statement "(*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever);" (call_expression "(*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))(aStack_80.whatever)" (parenthesized_expression "(*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc))" ( (pointer_expression "*(code *)**(undefined4 **)(puStack_a8 + -0x7fcc)" * (cast_expression "(code *)**(undefined4 **)(puStack_a8 + -0x7fcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_a8 + -0x7fcc)" * (pointer_expression "*(undefined4 **)(puStack_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(puStack_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7fcc)" ( (binary_expression "puStack_a8 + -0x7fcc" identifier + number_literal) ))))))) )) (argument_list "(aStack_80.whatever)" ( (field_expression "aStack_80.whatever" identifier . field_identifier) ))) ;) (goto_statement "goto LAB_00041228;" goto statement_identifier ;) })) (expression_statement "puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);" (assignment_expression "puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(puStack_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(puStack_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7fcc)" ( (binary_expression "puStack_a8 + -0x7fcc" identifier + number_literal) ))))) ;) (if_statement "if (aStack_78.whatever != (void *)0x0) {\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }" if (parenthesized_expression "(aStack_78.whatever != (void *)0x0)" ( (binary_expression "aStack_78.whatever != (void *)0x0" (field_expression "aStack_78.whatever" identifier . field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }\n                    /* WARNING: Subroutine does not return */\n            Curl_infof(data,pcStack_90,iVar2,uStack_7c);\n          }" { (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4) {\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }\n            else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar21.whatever ==\n                (anon_union_4_2_1ffdf146_for_data *)0x4" (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 *)0x4" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar2 = *(int *)(puStack_a8 + -0x7fd4);\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c7c;\n            }" { (expression_statement "iVar2 = *(int *)(puStack_a8 + -0x7fd4);" (assignment_expression "iVar2 = *(int *)(puStack_a8 + -0x7fd4)" identifier = (pointer_expression "*(int *)(puStack_a8 + -0x7fd4)" * (cast_expression "(int *)(puStack_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7fd4)" ( (binary_expression "puStack_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4);" (call_expression "(*(code *)aVar17)(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,aStack_a0.whatever,iVar2 + 0x6c7c,4)" ( identifier , (field_expression "aStack_a0.whatever" identifier . field_identifier) , (binary_expression "iVar2 + 0x6c7c" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);" (call_expression "(*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever)" ( identifier , (field_expression "aVar25.whatever" identifier . field_identifier) , identifier , (field_expression "aStack_78.whatever" identifier . field_identifier) ))) ;) (expression_statement "(*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2)" ( identifier , (field_expression "aVar25.whatever" identifier . field_identifier) , (binary_expression "*(int *)(puStack_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(puStack_a8 + -0x7fd4)" * (cast_expression "(int *)(puStack_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7fd4)" ( (binary_expression "puStack_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "data = (Curl_easy *)*puVar7;" (assignment_expression "data = (Curl_easy *)*puVar7" identifier = (cast_expression "(Curl_easy *)*puVar7" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (expression_statement "iVar2 = iVar2 + 0x6c7c;" (assignment_expression "iVar2 = iVar2 + 0x6c7c" identifier = (binary_expression "iVar2 + 0x6c7c" identifier + number_literal)) ;) }) (else_clause "else {\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }" else (compound_statement "{\n              (*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);\n              (*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);\n              data = (Curl_easy *)*puVar7;\n              iVar2 = iVar2 + 0x6c74;\n            }" { (expression_statement "(*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74);" (call_expression "(*(code *)aVar17)(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,aStack_a0.whatever,iStack_8c + 0x6c74)" ( identifier , (field_expression "aStack_a0.whatever" identifier . field_identifier) , (binary_expression "iStack_8c + 0x6c74" identifier + number_literal) ))) ;) (expression_statement "(*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever);" (call_expression "(*(code *)aVar17)(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,aVar25.whatever,uStack_7c,aStack_78.whatever)" ( identifier , (field_expression "aVar25.whatever" identifier . field_identifier) , identifier , (field_expression "aStack_78.whatever" identifier . field_identifier) ))) ;) (expression_statement "(*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)aVar17)(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,aVar25.whatever,*(int *)(puStack_a8 + -0x7fd4) + 0x29c4,2)" ( identifier , (field_expression "aVar25.whatever" identifier . field_identifier) , (binary_expression "*(int *)(puStack_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(puStack_a8 + -0x7fd4)" * (cast_expression "(int *)(puStack_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_a8 + -0x7fd4)" ( (binary_expression "puStack_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "data = (Curl_easy *)*puVar7;" (assignment_expression "data = (Curl_easy *)*puVar7" identifier = (cast_expression "(Curl_easy *)*puVar7" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (expression_statement "iVar2 = iVar2 + 0x6c74;" (assignment_expression "iVar2 = iVar2 + 0x6c74" identifier = (binary_expression "iVar2 + 0x6c74" identifier + number_literal)) ;) }))) comment (expression_statement "Curl_infof(data,pcStack_90,iVar2,uStack_7c);" (call_expression "Curl_infof(data,pcStack_90,iVar2,uStack_7c)" identifier (argument_list "(data,pcStack_90,iVar2,uStack_7c)" ( identifier , identifier , identifier , identifier ))) ;) })) }) (else_clause "else {\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }" else (compound_statement "{\n          cStack_84 = cVar20;\n          (*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);\n          aVar21 = aStack_80;\n          aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);\n          aVar1 = aVar21;\n          (*(code *)aVar17)(puVar7);\n          puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);\n          aVar5 = aVar10;\n        }" { (expression_statement "cStack_84 = cVar20;" (assignment_expression "cStack_84 = cVar20" identifier = identifier) ;) (expression_statement "(*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4);" (call_expression "(*(code *)aVar17)(puVar7,aStack_a0.whatever,&cStack_84,4)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,aStack_a0.whatever,&cStack_84,4)" ( identifier , (field_expression "aStack_a0.whatever" identifier . field_identifier) , (pointer_expression "&cStack_84" & identifier) , number_literal ))) ;) (expression_statement "aVar21 = aStack_80;" (assignment_expression "aVar21 = aStack_80" identifier = identifier) ;) (expression_statement "aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20);" (assignment_expression "aVar11.whatever = (void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20)" (field_expression "aVar11.whatever" identifier . field_identifier) = (cast_expression "(void *)(**(code **)(puStack_a8 + -0x7b38))(cVar20)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_a8 + -0x7b38))(cVar20)" (parenthesized_expression "(**(code **)(puStack_a8 + -0x7b38))" ( (pointer_expression "**(code **)(puStack_a8 + -0x7b38)" * (pointer_expression "*(code **)(puStack_a8 + -0x7b38)" * (cast_expression "(code **)(puStack_a8 + -0x7b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7b38)" ( (binary_expression "puStack_a8 + -0x7b38" identifier + number_literal) ))))) )) (argument_list "(cVar20)" ( identifier ))))) ;) (expression_statement "aVar1 = aVar21;" (assignment_expression "aVar1 = aVar21" identifier = identifier) ;) (expression_statement "(*(code *)aVar17)(puVar7);" (call_expression "(*(code *)aVar17)(puVar7)" (parenthesized_expression "(*(code *)aVar17)" ( (pointer_expression "*(code *)aVar17" * (cast_expression "(code *)aVar17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7)" ( identifier ))) ;) (expression_statement "puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc);" (assignment_expression "puVar3 = *(undefined4 **)(puStack_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(puStack_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(puStack_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x7fcc)" ( (binary_expression "puStack_a8 + -0x7fcc" identifier + number_literal) ))))) ;) (expression_statement "aVar5 = aVar10;" (assignment_expression "aVar5 = aVar10" identifier = identifier) ;) }))) (expression_statement "(*(code *)*puVar3)(aStack_80.whatever);" (call_expression "(*(code *)*puVar3)(aStack_80.whatever)" (parenthesized_expression "(*(code *)*puVar3)" ( (pointer_expression "*(code *)*puVar3" * (cast_expression "(code *)*puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) )) (argument_list "(aStack_80.whatever)" ( (field_expression "aStack_80.whatever" identifier . field_identifier) ))) ;) })) (labeled_statement "LAB_00041228:\n      aVar16.whatever = aVar16.whatever - aVar14.whatever;" statement_identifier : (expression_statement "aVar16.whatever = aVar16.whatever - aVar14.whatever;" (assignment_expression "aVar16.whatever = aVar16.whatever - aVar14.whatever" (field_expression "aVar16.whatever" identifier . field_identifier) = (binary_expression "aVar16.whatever - aVar14.whatever" (field_expression "aVar16.whatever" identifier . field_identifier) - (field_expression "aVar14.whatever" identifier . field_identifier))) ;)) (expression_statement "to = (int)to + aVar14.whatever;" (assignment_expression "to = (int)to + aVar14.whatever" identifier = (binary_expression "(int)to + aVar14.whatever" (cast_expression "(int)to" ( (type_descriptor "int" primitive_type) ) identifier) + (field_expression "aVar14.whatever" identifier . field_identifier))) ;) (expression_statement "CVar22 = CVar22 + aVar14.result;" (assignment_expression "CVar22 = CVar22 + aVar14.result" identifier = (binary_expression "CVar22 + aVar14.result" identifier + (field_expression "aVar14.result" identifier . field_identifier))) ;) }) while (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar16.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar16.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar16.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)) )) ;) })) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c)) {\n    return CVar22;\n  }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c))" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c)" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_74.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_74.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)**(undefined4 **)(puStack_a8 + -0x713c)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_a8 + -0x713c)" * (pointer_expression "*(undefined4 **)(puStack_a8 + -0x713c)" * (cast_expression "(undefined4 **)(puStack_a8 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x713c)" ( (binary_expression "puStack_a8 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return CVar22;\n  }" { (return_statement "return CVar22;" return identifier ;) })) (expression_statement "pcVar24 = *(code **)(puStack_a8 + -0x74c8);" (assignment_expression "pcVar24 = *(code **)(puStack_a8 + -0x74c8)" identifier = (pointer_expression "*(code **)(puStack_a8 + -0x74c8)" * (cast_expression "(code **)(puStack_a8 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_a8 + -0x74c8)" ( (binary_expression "puStack_a8 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = socket_read;" (assignment_expression "pcVar27 = socket_read" identifier = identifier) ;) (expression_statement "aVar25 = aStack_74;" (assignment_expression "aVar25 = aStack_74" identifier = identifier) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar24 + 0x77d04;" (assignment_expression "pcStack_e8 = pcVar24 + 0x77d04" identifier = (binary_expression "pcVar24 + 0x77d04" identifier + number_literal)) ;) (expression_statement "aStack_dc = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))->whatever;" (assignment_expression "aStack_dc = (anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))->whatever" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))->whatever" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n              (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "(*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8))" ( (pointer_expression "*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8)" * (cast_expression "(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70bc8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70bc8)" ( (binary_expression "pcVar24 + 0x70bc8" identifier + number_literal) )))) ))) -> field_identifier)) ;) (expression_statement "aVar10 = aVar1;" (assignment_expression "aVar10 = aVar1" identifier = identifier) ;) (expression_statement "bytesfromsocket = aVar1;" (assignment_expression "bytesfromsocket = aVar1" identifier = identifier) ;) (expression_statement "aVar19.whatever = to;" (assignment_expression "aVar19.whatever = to" (field_expression "aVar19.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "puStack_d8 = puVar7;" (assignment_expression "puStack_d8 = puVar7" identifier = identifier) ;) (expression_statement "aStack_d4 = aVar14;" (assignment_expression "aStack_d4 = aVar14" identifier = identifier) ;) (expression_statement "aStack_d0 = aVar16;" (assignment_expression "aStack_d0 = aVar16" identifier = identifier) ;) (expression_statement "aStack_cc = aVar17;" (assignment_expression "aStack_cc = aVar17" identifier = identifier) ;) (expression_statement "aStack_c8.whatever = to;" (assignment_expression "aStack_c8.whatever = to" (field_expression "aStack_c8.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "pcStack_c4 = pcVar27;" (assignment_expression "pcStack_c4 = pcVar27" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0)\n  {\n    aVar17.whatever = &iStack_e0;\n    aVar19.result = CURLE_AGAIN;\n    aVar14 = aVar5;\n    do {\n      aVar5 = aVar14;\n      aVar10 = bytesfromsocket;\n      aVar11.whatever = aVar17.whatever;\n      aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);\n      aVar16 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;\n      aVar1 = bytesfromsocket;\n      bytesfromsocket = aVar1;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar1.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    aVar17.whatever = &iStack_e0;\n    aVar19.result = CURLE_AGAIN;\n    aVar14 = aVar5;\n    do {\n      aVar5 = aVar14;\n      aVar10 = bytesfromsocket;\n      aVar11.whatever = aVar17.whatever;\n      aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);\n      aVar16 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;\n      aVar1 = bytesfromsocket;\n      bytesfromsocket = aVar1;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);\n  }" { (expression_statement "aVar17.whatever = &iStack_e0;" (assignment_expression "aVar17.whatever = &iStack_e0" (field_expression "aVar17.whatever" identifier . field_identifier) = (pointer_expression "&iStack_e0" & identifier)) ;) (expression_statement "aVar19.result = CURLE_AGAIN;" (assignment_expression "aVar19.result = CURLE_AGAIN" (field_expression "aVar19.result" identifier . field_identifier) = identifier) ;) (expression_statement "aVar14 = aVar5;" (assignment_expression "aVar14 = aVar5" identifier = identifier) ;) (do_statement "do {\n      aVar5 = aVar14;\n      aVar10 = bytesfromsocket;\n      aVar11.whatever = aVar17.whatever;\n      aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);\n      aVar16 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;\n      aVar1 = bytesfromsocket;\n      bytesfromsocket = aVar1;\n    } while ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0);" do (compound_statement "{\n      aVar5 = aVar14;\n      aVar10 = bytesfromsocket;\n      aVar11.whatever = aVar17.whatever;\n      aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);\n      aVar16 = aVar25;\n      if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;\n      aVar1 = bytesfromsocket;\n      bytesfromsocket = aVar1;\n    }" { (expression_statement "aVar5 = aVar14;" (assignment_expression "aVar5 = aVar14" identifier = identifier) ;) (expression_statement "aVar10 = bytesfromsocket;" (assignment_expression "aVar10 = bytesfromsocket" identifier = identifier) ;) (expression_statement "aVar11.whatever = aVar17.whatever;" (assignment_expression "aVar11.whatever = aVar17.whatever" (field_expression "aVar11.whatever" identifier . field_identifier) = (field_expression "aVar17.whatever" identifier . field_identifier)) ;) (expression_statement "aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever);" (assignment_expression "aVar1.whatever =\n           (void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever)" (field_expression "aVar1.whatever" identifier . field_identifier) = (cast_expression "(void *)Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "Curl_read_plain(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever)" identifier (argument_list "(aVar25.result,aVar14.whatever,bytesfromsocket.result,\n                                   aVar17.whatever)" ( (field_expression "aVar25.result" identifier . field_identifier) , (field_expression "aVar14.whatever" identifier . field_identifier) , (field_expression "bytesfromsocket.result" identifier . field_identifier) , (field_expression "aVar17.whatever" identifier . field_identifier) ))))) ;) (expression_statement "aVar16 = aVar25;" (assignment_expression "aVar16 = aVar25" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0) {\n        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }\n      else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever ==\n          (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar1.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        aVar14.whatever = aVar14.whatever + iStack_e0;\n        bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;\n      }" { (expression_statement "aVar14.whatever = aVar14.whatever + iStack_e0;" (assignment_expression "aVar14.whatever = aVar14.whatever + iStack_e0" (field_expression "aVar14.whatever" identifier . field_identifier) = (binary_expression "aVar14.whatever + iStack_e0" (field_expression "aVar14.whatever" identifier . field_identifier) + identifier)) ;) (expression_statement "bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0;" (assignment_expression "bytesfromsocket.whatever = bytesfromsocket.whatever - iStack_e0" (field_expression "bytesfromsocket.whatever" identifier . field_identifier) = (binary_expression "bytesfromsocket.whatever - iStack_e0" (field_expression "bytesfromsocket.whatever" identifier . field_identifier) - identifier)) ;) }) (else_clause "else if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;" else (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51) break;" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x51" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar1.whatever" identifier . field_identifier)) != (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x51" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)))) (expression_statement "aVar1 = bytesfromsocket;" (assignment_expression "aVar1 = bytesfromsocket" identifier = identifier) ;) (expression_statement "bytesfromsocket = aVar1;" (assignment_expression "bytesfromsocket = aVar1" identifier = identifier) ;) }) while (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever !=\n             (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar1.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar1.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)) )) ;) })) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c)) {\n    return (CURLcode)aVar1.whatever;\n  }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c))" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c)" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_dc.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_dc.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_e8 + -0x713c)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_e8 + -0x713c)" * (pointer_expression "*(int **)(pcStack_e8 + -0x713c)" * (cast_expression "(int **)(pcStack_e8 + -0x713c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x713c)" ( (binary_expression "pcStack_e8 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (CURLcode)aVar1.whatever;\n  }" { (return_statement "return (CURLcode)aVar1.whatever;" return (cast_expression "(CURLcode)aVar1.whatever" ( (type_descriptor "CURLcode" type_identifier) ) (field_expression "aVar1.whatever" identifier . field_identifier)) ;) })) (expression_statement "pcVar24 = *(code **)(pcStack_e8 + -0x74c8);" (assignment_expression "pcVar24 = *(code **)(pcStack_e8 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_e8 + -0x74c8)" * (cast_expression "(code **)(pcStack_e8 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x74c8)" ( (binary_expression "pcStack_e8 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = ftp_send_command;" (assignment_expression "pcVar27 = ftp_send_command" identifier = identifier) ;) (expression_statement "aVar1 = aStack_dc;" (assignment_expression "aVar1 = aStack_dc" identifier = identifier) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_158 = pcVar24 + 0x77c28;" (assignment_expression "pcStack_158 = pcVar24 + 0x77c28" identifier = (binary_expression "pcVar24 + 0x77c28" identifier + number_literal)) ;) (expression_statement "aStack_10c = (anon_union_4_2_1ffdf146_for_data)\n               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))->whatever;" (assignment_expression "aStack_10c = (anon_union_4_2_1ffdf146_for_data)\n               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))->whatever" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))->whatever" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n               (*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "(*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec))" ( (pointer_expression "*(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec)" * (cast_expression "(anon_union_4_2_1ffdf146_for_data **)(pcVar24 + 0x70aec)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70aec)" ( (binary_expression "pcVar24 + 0x70aec" identifier + number_literal) )))) ))) -> field_identifier)) ;) (expression_statement "pCStack_148 = (Curl_easy *)0x0;" (assignment_expression "pCStack_148 = (Curl_easy *)0x0" identifier = (cast_expression "(Curl_easy *)0x0" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar25.whatever = &aStack_f0;" (assignment_expression "aVar25.whatever = &aStack_f0" (field_expression "aVar25.whatever" identifier . field_identifier) = (pointer_expression "&aStack_f0" & identifier)) ;) (expression_statement "aStack_144.whatever = aVar25.whatever;" (assignment_expression "aStack_144.whatever = aVar25.whatever" (field_expression "aStack_144.whatever" identifier . field_identifier) = (field_expression "aVar25.whatever" identifier . field_identifier)) ;) (expression_statement "aStack_104 = bytesfromsocket;" (assignment_expression "aStack_104 = bytesfromsocket" identifier = identifier) ;) (expression_statement "aStack_100 = aVar14;" (assignment_expression "aStack_100 = aVar14" identifier = identifier) ;) (expression_statement "pcStack_fc = pcVar27;" (assignment_expression "pcStack_fc = pcVar27" identifier = identifier) ;) (expression_statement "aStack_f0 = aVar10;" (assignment_expression "aStack_f0 = aVar10" identifier = identifier) ;) (expression_statement "aStack_ec = aVar11;" (assignment_expression "aStack_ec = aVar11" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar24 + 0x70930))(auStack_140,0x32);" (call_expression "(**(code **)(pcVar24 + 0x70930))(auStack_140,0x32)" (parenthesized_expression "(**(code **)(pcVar24 + 0x70930))" ( (pointer_expression "**(code **)(pcVar24 + 0x70930)" * (pointer_expression "*(code **)(pcVar24 + 0x70930)" * (cast_expression "(code **)(pcVar24 + 0x70930)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70930)" ( (binary_expression "pcVar24 + 0x70930" identifier + number_literal) ))))) )) (argument_list "(auStack_140,0x32)" ( identifier , number_literal ))) ;) (expression_statement "aVar11.whatever = auStack_140;" (assignment_expression "aVar11.whatever = auStack_140" (field_expression "aVar11.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "CVar4 = Curl_ftpsend(aVar1.result,auStack_140);" (assignment_expression "CVar4 = Curl_ftpsend(aVar1.result,auStack_140)" identifier = (call_expression "Curl_ftpsend(aVar1.result,auStack_140)" identifier (argument_list "(aVar1.result,auStack_140)" ( (field_expression "aVar1.result" identifier . field_identifier) , identifier )))) ;) (if_statement "if (CVar4 == CURLE_OK) {\n    aVar5.whatever = &puStack_14c;\n    aVar11 = aVar1;\n    CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);\n    if (CVar4 == CURLE_OK) goto LAB_00041574;\n  }" if (parenthesized_expression "(CVar4 == CURLE_OK)" ( (binary_expression "CVar4 == CURLE_OK" identifier == identifier) )) (compound_statement "{\n    aVar5.whatever = &puStack_14c;\n    aVar11 = aVar1;\n    CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);\n    if (CVar4 == CURLE_OK) goto LAB_00041574;\n  }" { (expression_statement "aVar5.whatever = &puStack_14c;" (assignment_expression "aVar5.whatever = &puStack_14c" (field_expression "aVar5.whatever" identifier . field_identifier) = (pointer_expression "&puStack_14c" & identifier)) ;) (expression_statement "aVar11 = aVar1;" (assignment_expression "aVar11 = aVar1" identifier = identifier) ;) (expression_statement "CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);" (assignment_expression "CVar4 = Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result)" identifier = (call_expression "Curl_GetFTPResponse((ssize_t *)&pCStack_148,aVar1.result,aVar5.result)" identifier (argument_list "((ssize_t *)&pCStack_148,aVar1.result,aVar5.result)" ( (cast_expression "(ssize_t *)&pCStack_148" ( (type_descriptor "ssize_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCStack_148" & identifier)) , (field_expression "aVar1.result" identifier . field_identifier) , (field_expression "aVar5.result" identifier . field_identifier) )))) ;) (if_statement "if (CVar4 == CURLE_OK) goto LAB_00041574;" if (parenthesized_expression "(CVar4 == CURLE_OK)" ( (binary_expression "CVar4 == CURLE_OK" identifier == identifier) )) (goto_statement "goto LAB_00041574;" goto statement_identifier ;)) })) (expression_statement "puStack_14c = &DAT_ffffffff;" (assignment_expression "puStack_14c = &DAT_ffffffff" identifier = (pointer_expression "&DAT_ffffffff" & identifier)) ;) (labeled_statement "LAB_00041574:\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)) {\n    return (CURLcode)puStack_14c;\n  }" statement_identifier : (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)) {\n    return (CURLcode)puStack_14c;\n  }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c))" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever ==\n      (anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_10c.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_10c.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)**(int **)(pcStack_158 + -0x713c)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_158 + -0x713c)" * (pointer_expression "*(int **)(pcStack_158 + -0x713c)" * (cast_expression "(int **)(pcStack_158 + -0x713c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_158 + -0x713c)" ( (binary_expression "pcStack_158 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (CURLcode)puStack_14c;\n  }" { (return_statement "return (CURLcode)puStack_14c;" return (cast_expression "(CURLcode)puStack_14c" ( (type_descriptor "CURLcode" type_identifier) ) identifier) ;) }))) (expression_statement "pcVar24 = *(code **)(pcStack_158 + -0x74c8);" (assignment_expression "pcVar24 = *(code **)(pcStack_158 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_158 + -0x74c8)" * (cast_expression "(code **)(pcStack_158 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_158 + -0x74c8)" ( (binary_expression "pcStack_158 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = sec_recv;" (assignment_expression "pcVar27 = sec_recv" identifier = identifier) ;) (expression_statement "aVar14 = aStack_10c;" (assignment_expression "aVar14 = aStack_10c" identifier = identifier) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piStack_194 = (int *)**(undefined4 **)(pcVar24 + 0x70a00);" (assignment_expression "piStack_194 = (int *)**(undefined4 **)(pcVar24 + 0x70a00)" identifier = (cast_expression "(int *)**(undefined4 **)(pcVar24 + 0x70a00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar24 + 0x70a00)" * (pointer_expression "*(undefined4 **)(pcVar24 + 0x70a00)" * (cast_expression "(undefined4 **)(pcVar24 + 0x70a00)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70a00)" ( (binary_expression "pcVar24 + 0x70a00" identifier + number_literal) ))))))) ;) (expression_statement "aVar11.whatever =\n       aVar14.whatever + (int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4;" (assignment_expression "aVar11.whatever =\n       aVar14.whatever + (int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4" (field_expression "aVar11.whatever" identifier . field_identifier) = (binary_expression "aVar14.whatever + (int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4" (field_expression "aVar14.whatever" identifier . field_identifier) + (binary_expression "(int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)) * 4" (cast_expression "(int)(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND))" ( (binary_expression "aVar11.result + (CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)" (field_expression "aVar11.result" identifier . field_identifier) + (parenthesized_expression "(CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND)" ( (binary_expression "CURLE_USE_SSL_FAILED|CURLE_LDAP_CANNOT_BIND" identifier | identifier) ))) ))) * number_literal))) ;) comment (expression_statement "CVar4 = *aVar11.whatever;" (assignment_expression "CVar4 = *aVar11.whatever" identifier = (pointer_expression "*aVar11.whatever" * (field_expression "aVar11.whatever" identifier . field_identifier))) ;) (expression_statement "*(undefined4 *)pcStack_158 = 0;" (assignment_expression "*(undefined4 *)pcStack_158 = 0" (pointer_expression "*(undefined4 *)pcStack_158" * (cast_expression "(undefined4 *)pcStack_158" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "aVar10.whatever = auStack_140;" (assignment_expression "aVar10.whatever = auStack_140" (field_expression "aVar10.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "aStack_1c4 = aVar1;" (assignment_expression "aStack_1c4 = aVar1" identifier = identifier) ;) (expression_statement "aStack_18c.whatever = auStack_140;" (assignment_expression "aStack_18c.whatever = auStack_140" (field_expression "aStack_18c.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "aStack_188 = aVar1;" (assignment_expression "aStack_188 = aVar1" identifier = identifier) ;) (expression_statement "aStack_184 = aVar16;" (assignment_expression "aStack_184 = aVar16" identifier = identifier) ;) (expression_statement "aStack_180 = aVar17;" (assignment_expression "aStack_180 = aVar17" identifier = identifier) ;) (expression_statement "aStack_17c = aVar19;" (assignment_expression "aStack_17c = aVar19" identifier = identifier) ;) (expression_statement "cStack_178 = cVar20;" (assignment_expression "cStack_178 = cVar20" identifier = identifier) ;) (expression_statement "aStack_174 = aVar21;" (assignment_expression "aStack_174 = aVar21" identifier = identifier) ;) (expression_statement "CStack_170 = CVar22;" (assignment_expression "CStack_170 = CVar22" identifier = identifier) ;) (expression_statement "pcStack_16c = pcVar27;" (assignment_expression "pcStack_16c = pcVar27" identifier = identifier) ;) (if_statement "if ((((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||\n     (aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar21 = aVar25;\n    aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4);\n    aVar11 = aVar5;\n    aVar14 = aVar10;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }\n    aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    aVar21 = aVar16;\n    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);\n    aVar25.whatever = aVar25.whatever - aVar16.whatever;\n    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);\n    aStack_1c4 = aVar16;\n    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }" if (parenthesized_expression "((((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||\n     (aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1))" ( (binary_expression "(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||\n     (aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)" (parenthesized_expression "(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0)" ( (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever == (void *)0x0" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2cc)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2cc)" ( (binary_expression "aVar14.result + 0x2cc" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)" ( (comma_expression "aVar10 = aVar14,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1" (assignment_expression "aVar10 = aVar14" identifier = identifier) , (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever == (void *)0x1" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2d4)" ( (binary_expression "aVar14.result + 0x2d4" (field_expression "aVar14.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    aVar21 = aVar25;\n    aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4);\n    aVar11 = aVar5;\n    aVar14 = aVar10;\n  }" { (expression_statement "aVar21 = aVar25;" (assignment_expression "aVar21 = aVar25" identifier = identifier) ;) (expression_statement "aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4);" (assignment_expression "aVar16.whatever = (void *)(**(code **)(pcVar24 + 0x7042c))(CVar4)" (field_expression "aVar16.whatever" identifier . field_identifier) = (cast_expression "(void *)(**(code **)(pcVar24 + 0x7042c))(CVar4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x7042c))(CVar4)" (parenthesized_expression "(**(code **)(pcVar24 + 0x7042c))" ( (pointer_expression "**(code **)(pcVar24 + 0x7042c)" * (pointer_expression "*(code **)(pcVar24 + 0x7042c)" * (cast_expression "(code **)(pcVar24 + 0x7042c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x7042c)" ( (binary_expression "pcVar24 + 0x7042c" identifier + number_literal) ))))) )) (argument_list "(CVar4)" ( identifier ))))) ;) (expression_statement "aVar11 = aVar5;" (assignment_expression "aVar11 = aVar5" identifier = identifier) ;) (expression_statement "aVar14 = aVar10;" (assignment_expression "aVar14 = aVar10" identifier = identifier) ;) }) (else_clause "else if (((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }\n    aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    aVar21 = aVar16;\n    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);\n    aVar25.whatever = aVar25.whatever - aVar16.whatever;\n    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);\n    aStack_1c4 = aVar16;\n    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }" else (if_statement "if (((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }\n    aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    aVar21 = aVar16;\n    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);\n    aVar25.whatever = aVar25.whatever - aVar16.whatever;\n    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);\n    aStack_1c4 = aVar16;\n    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }" if (parenthesized_expression "(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0)" ( (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever == (void *)0x0" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2ec)" ( (binary_expression "aVar14.result + 0x2ec" (field_expression "aVar14.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    aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }\n    aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;\n    aVar21 = aVar16;\n    (**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);\n    aVar25.whatever = aVar25.whatever - aVar16.whatever;\n    puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);\n    aStack_1c4 = aVar16;\n    if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }" { (expression_statement "aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;" (assignment_expression "aVar16.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result" (field_expression "aVar16.whatever" identifier . field_identifier) = (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e4)" ( (binary_expression "aVar14.result + 0x2e4" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) - (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e8)" ( (binary_expression "aVar14.result + 0x2e8" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) ;) (if_statement "if (aVar25.whatever < aVar16.whatever) {\n      aVar16 = aVar25;\n    }" if (parenthesized_expression "(aVar25.whatever < aVar16.whatever)" ( (binary_expression "aVar25.whatever < aVar16.whatever" (field_expression "aVar25.whatever" identifier . field_identifier) < (field_expression "aVar16.whatever" identifier . field_identifier)) )) (compound_statement "{\n      aVar16 = aVar25;\n    }" { (expression_statement "aVar16 = aVar25;" (assignment_expression "aVar16 = aVar25" identifier = identifier) ;) })) (expression_statement "aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result;" (assignment_expression "aVar11.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result" (field_expression "aVar11.whatever" identifier . field_identifier) = (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e0)" ( (binary_expression "aVar14.result + 0x2e0" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) + (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e8)" ( (binary_expression "aVar14.result + 0x2e8" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) ;) (expression_statement "aVar21 = aVar16;" (assignment_expression "aVar21 = aVar16" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar24 + 0x7090c))(aVar5.whatever);" (call_expression "(**(code **)(pcVar24 + 0x7090c))(aVar5.whatever)" (parenthesized_expression "(**(code **)(pcVar24 + 0x7090c))" ( (pointer_expression "**(code **)(pcVar24 + 0x7090c)" * (pointer_expression "*(code **)(pcVar24 + 0x7090c)" * (cast_expression "(code **)(pcVar24 + 0x7090c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x7090c)" ( (binary_expression "pcVar24 + 0x7090c" identifier + number_literal) ))))) )) (argument_list "(aVar5.whatever)" ( (field_expression "aVar5.whatever" identifier . field_identifier) ))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever);" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever)" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e8)" ( (binary_expression "aVar14.result + 0x2e8" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(undefined1 *)\n         ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever)" ( (binary_expression "(int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n         (int)aVar16.whatever" (cast_expression "(int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e8)" ( (binary_expression "aVar14.result + 0x2e8" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier)) + (cast_expression "(int)aVar16.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar16.whatever" identifier . field_identifier))) )))) ;) (expression_statement "aVar25.whatever = aVar25.whatever - aVar16.whatever;" (assignment_expression "aVar25.whatever = aVar25.whatever - aVar16.whatever" (field_expression "aVar25.whatever" identifier . field_identifier) = (binary_expression "aVar25.whatever - aVar16.whatever" (field_expression "aVar25.whatever" identifier . field_identifier) - (field_expression "aVar16.whatever" identifier . field_identifier))) ;) (expression_statement "puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever);" (assignment_expression "puVar18 = (undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever)" identifier = (cast_expression "(undefined1 *)((int)aVar5.whatever + (int)aVar16.whatever)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aVar5.whatever + (int)aVar16.whatever)" ( (binary_expression "(int)aVar5.whatever + (int)aVar16.whatever" (cast_expression "(int)aVar5.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar5.whatever" identifier . field_identifier)) + (cast_expression "(int)aVar16.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar16.whatever" identifier . field_identifier))) )))) ;) (expression_statement "aStack_1c4 = aVar16;" (assignment_expression "aStack_1c4 = aVar16" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0) {\n      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n        (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar25.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      aVar5 = aVar16;\n      aVar1 = aVar16;\n      do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }" { (expression_statement "aVar5 = aVar16;" (assignment_expression "aVar5 = aVar16" identifier = identifier) ;) (expression_statement "aVar1 = aVar16;" (assignment_expression "aVar1 = aVar16" identifier = identifier) ;) (do_statement "do {\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      } while ((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);" do (compound_statement "{\n        aVar21.result = CURLE_NOT_BUILT_IN;\n        aVar11.whatever = &aStack_198;\n        CVar22 = socket_read(CVar4,&aStack_198,4);\n        aStack_1c4 = aVar5;\n        if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }\n        aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;\n        aVar21 = aStack_198;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;\n        CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);\n        aVar16.result = (CURLcode)&DAT_ffffffff;\n        aVar11 = aVar17;\n        if (CVar22 != CURLE_OK) break;\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;\n        aVar21 = aStack_198;\n        aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar5.result = aVar16.result;\n        if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }\n        aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;\n        aVar21 = aVar5;\n        (**(code **)(pcVar24 + 0x7090c))(puVar18);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);\n        aVar25.whatever = aVar25.whatever - aVar5.whatever;\n        aVar16.whatever = aVar1.whatever + aVar5.whatever;\n        puVar18 = puVar18 + (int)aVar5.whatever;\n        aStack_1c4 = aVar5;\n        aVar1.whatever = aVar16.whatever;\n      }" { (expression_statement "aVar21.result = CURLE_NOT_BUILT_IN;" (assignment_expression "aVar21.result = CURLE_NOT_BUILT_IN" (field_expression "aVar21.result" identifier . field_identifier) = identifier) ;) (expression_statement "aVar11.whatever = &aStack_198;" (assignment_expression "aVar11.whatever = &aStack_198" (field_expression "aVar11.whatever" identifier . field_identifier) = (pointer_expression "&aStack_198" & identifier)) ;) (expression_statement "CVar22 = socket_read(CVar4,&aStack_198,4);" (assignment_expression "CVar22 = socket_read(CVar4,&aStack_198,4)" identifier = (call_expression "socket_read(CVar4,&aStack_198,4)" identifier (argument_list "(CVar4,&aStack_198,4)" ( identifier , (pointer_expression "&aStack_198" & identifier) , number_literal )))) ;) (expression_statement "aStack_1c4 = aVar5;" (assignment_expression "aStack_1c4 = aVar5" identifier = identifier) ;) (if_statement "if ((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }" if (parenthesized_expression "((CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0))" ( (binary_expression "(CVar22 != CURLE_OK) ||\n           (aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)" (parenthesized_expression "(CVar22 != CURLE_OK)" ( (binary_expression "CVar22 != CURLE_OK" identifier != identifier) )) || (parenthesized_expression "(aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (comma_expression "aVar11 = aStack_198,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0" (assignment_expression "aVar11 = aStack_198" identifier = identifier) , (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_198.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_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;\n          break;\n        }" { (labeled_statement "LAB_0004180c:\n          aVar16.result = (CURLcode)&DAT_ffffffff;" statement_identifier : (expression_statement "aVar16.result = (CURLcode)&DAT_ffffffff;" (assignment_expression "aVar16.result = (CURLcode)&DAT_ffffffff" (field_expression "aVar16.result" identifier . field_identifier) = (binary_expression "(CURLcode)&DAT_ffffffff" (parenthesized_expression "(CURLcode)" ( identifier )) & identifier)) ;)) (break_statement "break;" break ;) })) (expression_statement "aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result);" (assignment_expression "aVar17.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result)" (field_expression "aVar17.whatever" identifier . field_identifier) = (call_expression "Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result)" identifier (argument_list "(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever,aStack_198.result)" ( (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->\n                              whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e0)" ( (binary_expression "aVar14.result + 0x2e0" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) , (field_expression "aStack_198.result" identifier . field_identifier) )))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e0)" ( (binary_expression "aVar14.result + 0x2e0" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(void *)aVar17" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "aVar21 = aStack_198;" (assignment_expression "aVar21 = aStack_198" identifier = identifier) ;) (if_statement "if (((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)) goto LAB_0004180c;" if (parenthesized_expression "(((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0))" ( (binary_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           ((anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_198.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_198.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 *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar17.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar17.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar17.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)) ))) )) (goto_statement "goto LAB_0004180c;" goto statement_identifier ;)) (expression_statement "CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result);" (assignment_expression "CVar22 = socket_read(CVar4,aVar17.whatever,aStack_198.result)" identifier = (call_expression "socket_read(CVar4,aVar17.whatever,aStack_198.result)" identifier (argument_list "(CVar4,aVar17.whatever,aStack_198.result)" ( identifier , (field_expression "aVar17.whatever" identifier . field_identifier) , (field_expression "aStack_198.result" identifier . field_identifier) )))) ;) (expression_statement "aVar16.result = (CURLcode)&DAT_ffffffff;" (assignment_expression "aVar16.result = (CURLcode)&DAT_ffffffff" (field_expression "aVar16.result" identifier . field_identifier) = (binary_expression "(CURLcode)&DAT_ffffffff" (parenthesized_expression "(CURLcode)" ( identifier )) & identifier)) ;) (expression_statement "aVar11 = aVar17;" (assignment_expression "aVar11 = aVar17" identifier = identifier) ;) (if_statement "if (CVar22 != CURLE_OK) break;" if (parenthesized_expression "(CVar22 != CURLE_OK)" ( (binary_expression "CVar22 != CURLE_OK" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever;" (assignment_expression "aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->whatever" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e0)" ( (binary_expression "aVar14.result + 0x2e0" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) ))) -> field_identifier)) ;) (expression_statement "aVar21 = aStack_198;" (assignment_expression "aVar21 = aStack_198" identifier = identifier) ;) (expression_statement "aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever);" (assignment_expression "aVar16.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever)" (field_expression "aVar16.whatever" identifier . field_identifier) = (cast_expression "(void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever)" (parenthesized_expression "(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode)" ( (pointer_expression "*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode" * (field_expression "((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)->\n                       decode" (parenthesized_expression "((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result)" ( (cast_expression "(Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result" ( (type_descriptor "Curl_sec_client_mech *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2f4)" ( (binary_expression "aVar14.result + 0x2f4" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier)) )) -> field_identifier)) )) (argument_list "(((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever,aVar11.whatever,aStack_198.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result\n                               ,aVar14.whatever)" ( (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))->\n                               whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2f0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2f0)" ( (binary_expression "aVar14.result + 0x2f0" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) , (field_expression "aVar11.whatever" identifier . field_identifier) , (field_expression "aStack_198.result" identifier . field_identifier) , (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2d4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2d4)" ( (binary_expression "aVar14.result + 0x2d4" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) , (field_expression "aVar14.whatever" identifier . field_identifier) ))))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e4)" ( (binary_expression "aVar14.result + 0x2e4" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(void *)aVar16" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever = (void *)0x0" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e8)" ( (binary_expression "aVar14.result + 0x2e8" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar16.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar16.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar16.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          aVar16 = aVar5;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }" { (expression_statement "aVar16 = aVar5;" (assignment_expression "aVar16 = aVar5" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar5.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar5.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar5.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 *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }" { (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2ec)" ( (binary_expression "aVar14.result + 0x2ec" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = identifier) ;) })) (break_statement "break;" break ;) })) (expression_statement "aVar5.result = aVar16.result;" (assignment_expression "aVar5.result = aVar16.result" (field_expression "aVar5.result" identifier . field_identifier) = (field_expression "aVar16.result" identifier . field_identifier)) ;) (if_statement "if (aVar25.whatever < aVar16.whatever) {\n          aVar5 = aVar25;\n        }" if (parenthesized_expression "(aVar25.whatever < aVar16.whatever)" ( (binary_expression "aVar25.whatever < aVar16.whatever" (field_expression "aVar25.whatever" identifier . field_identifier) < (field_expression "aVar16.whatever" identifier . field_identifier)) )) (compound_statement "{\n          aVar5 = aVar25;\n        }" { (expression_statement "aVar5 = aVar25;" (assignment_expression "aVar5 = aVar25" identifier = identifier) ;) })) (expression_statement "aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result;" (assignment_expression "aVar11 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))->result" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e0)" ( (binary_expression "aVar14.result + 0x2e0" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) ))) -> field_identifier)) ;) (expression_statement "aVar21 = aVar5;" (assignment_expression "aVar21 = aVar5" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar24 + 0x7090c))(puVar18);" (call_expression "(**(code **)(pcVar24 + 0x7090c))(puVar18)" (parenthesized_expression "(**(code **)(pcVar24 + 0x7090c))" ( (pointer_expression "**(code **)(pcVar24 + 0x7090c)" * (pointer_expression "*(code **)(pcVar24 + 0x7090c)" * (cast_expression "(code **)(pcVar24 + 0x7090c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x7090c)" ( (binary_expression "pcVar24 + 0x7090c" identifier + number_literal) ))))) )) (argument_list "(puVar18)" ( identifier ))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever);" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever)" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e8)" ( (binary_expression "aVar14.result + 0x2e8" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(undefined1 *)\n             ((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever)" ( (binary_expression "(int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever +\n             (int)aVar5.whatever" (cast_expression "(int)((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2e8)" ( (binary_expression "aVar14.result + 0x2e8" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier)) + (cast_expression "(int)aVar5.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar5.whatever" identifier . field_identifier))) )))) ;) (expression_statement "aVar25.whatever = aVar25.whatever - aVar5.whatever;" (assignment_expression "aVar25.whatever = aVar25.whatever - aVar5.whatever" (field_expression "aVar25.whatever" identifier . field_identifier) = (binary_expression "aVar25.whatever - aVar5.whatever" (field_expression "aVar25.whatever" identifier . field_identifier) - (field_expression "aVar5.whatever" identifier . field_identifier))) ;) (expression_statement "aVar16.whatever = aVar1.whatever + aVar5.whatever;" (assignment_expression "aVar16.whatever = aVar1.whatever + aVar5.whatever" (field_expression "aVar16.whatever" identifier . field_identifier) = (binary_expression "aVar1.whatever + aVar5.whatever" (field_expression "aVar1.whatever" identifier . field_identifier) + (field_expression "aVar5.whatever" identifier . field_identifier))) ;) (expression_statement "puVar18 = puVar18 + (int)aVar5.whatever;" (assignment_expression "puVar18 = puVar18 + (int)aVar5.whatever" identifier = (binary_expression "puVar18 + (int)aVar5.whatever" identifier + (cast_expression "(int)aVar5.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar5.whatever" identifier . field_identifier)))) ;) (expression_statement "aStack_1c4 = aVar5;" (assignment_expression "aStack_1c4 = aVar5" identifier = identifier) ;) (expression_statement "aVar1.whatever = aVar16.whatever;" (assignment_expression "aVar1.whatever = aVar16.whatever" (field_expression "aVar1.whatever" identifier . field_identifier) = (field_expression "aVar16.whatever" identifier . field_identifier)) ;) }) while (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar25.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar25.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 *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }" else (compound_statement "{\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;\n    aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar21 = aVar5;\n  }" { (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever = (void *)0x0" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + 0x2ec)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + 0x2ec)" ( (binary_expression "aVar14.result + 0x2ec" (field_expression "aVar14.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;" (assignment_expression "aVar16.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0" (field_expression "aVar16.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 "aVar21 = aVar5;" (assignment_expression "aVar21 = aVar5" identifier = identifier) ;) }))))) (if_statement "if (piStack_194 == (int *)**(undefined4 **)(pcVar24 + 0x70a00)) {\n    return (CURLcode)aVar16.whatever;\n  }" if (parenthesized_expression "(piStack_194 == (int *)**(undefined4 **)(pcVar24 + 0x70a00))" ( (binary_expression "piStack_194 == (int *)**(undefined4 **)(pcVar24 + 0x70a00)" identifier == (cast_expression "(int *)**(undefined4 **)(pcVar24 + 0x70a00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar24 + 0x70a00)" * (pointer_expression "*(undefined4 **)(pcVar24 + 0x70a00)" * (cast_expression "(undefined4 **)(pcVar24 + 0x70a00)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70a00)" ( (binary_expression "pcVar24 + 0x70a00" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (CURLcode)aVar16.whatever;\n  }" { (return_statement "return (CURLcode)aVar16.whatever;" return (cast_expression "(CURLcode)aVar16.whatever" ( (type_descriptor "CURLcode" type_identifier) ) (field_expression "aVar16.whatever" identifier . field_identifier)) ;) })) (expression_statement "pcVar24 = *(code **)(pcVar24 + 0x70674);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0x70674)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x70674)" * (cast_expression "(code **)(pcVar24 + 0x70674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70674)" ( (binary_expression "pcVar24 + 0x70674" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = Curl_sec_read_msg;" (assignment_expression "pcVar27 = Curl_sec_read_msg" identifier = identifier) ;) (expression_statement "piVar8 = piStack_194;" (assignment_expression "piVar8 = piStack_194" identifier = identifier) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_1cc = **(int **)(pcVar24 + 0x70790);" (assignment_expression "iStack_1cc = **(int **)(pcVar24 + 0x70790)" identifier = (pointer_expression "**(int **)(pcVar24 + 0x70790)" * (pointer_expression "*(int **)(pcVar24 + 0x70790)" * (cast_expression "(int **)(pcVar24 + 0x70790)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70790)" ( (binary_expression "pcVar24 + 0x70790" identifier + number_literal) )))))) ;) (expression_statement "CStack_1d4 = CURLE_OK;" (assignment_expression "CStack_1d4 = CURLE_OK" identifier = identifier) ;) (expression_statement "iStack_1d0 = 0;" (assignment_expression "iStack_1d0 = 0" identifier = number_literal) ;) (expression_statement "aStack_1c8 = aVar14;" (assignment_expression "aStack_1c8 = aVar14" identifier = identifier) ;) (expression_statement "aStack_1c0 = aVar25;" (assignment_expression "aStack_1c0 = aVar25" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar27;" (assignment_expression "pcStack_1bc = pcVar27" identifier = identifier) ;) (if_statement "if (piVar8[0xbd] == 0) {\n    CVar22 = ~CURLE_OK;\n  }\n  else {\n    aVar16.whatever = &aStack_1d8;\n    iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }\n    else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }\n  }" if (parenthesized_expression "(piVar8[0xbd] == 0)" ( (binary_expression "piVar8[0xbd] == 0" (subscript_expression "piVar8[0xbd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    CVar22 = ~CURLE_OK;\n  }" { (expression_statement "CVar22 = ~CURLE_OK;" (assignment_expression "CVar22 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;) }) (else_clause "else {\n    aVar16.whatever = &aStack_1d8;\n    iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }\n    else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }\n  }" else (compound_statement "{\n    aVar16.whatever = &aStack_1d8;\n    iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }\n    else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }\n  }" { (expression_statement "aVar16.whatever = &aStack_1d8;" (assignment_expression "aVar16.whatever = &aStack_1d8" (field_expression "aVar16.whatever" identifier . field_identifier) = (pointer_expression "&aStack_1d8" & identifier)) ;) (expression_statement "iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0);" (assignment_expression "iVar2 = (**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0)" identifier = (call_expression "(**(code **)(pcVar24 + 0x6fda0))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x6fda0))" ( (pointer_expression "**(code **)(pcVar24 + 0x6fda0)" * (pointer_expression "*(code **)(pcVar24 + 0x6fda0)" * (cast_expression "(code **)(pcVar24 + 0x6fda0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x6fda0)" ( (binary_expression "pcVar24 + 0x6fda0" identifier + number_literal) ))))) )) (argument_list "((anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN),\n                       aVar16.whatever,&iStack_1d0)" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar11.result + CURLE_NOT_BUILT_IN)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar11.result + CURLE_NOT_BUILT_IN)" ( (binary_expression "aVar11.result + CURLE_NOT_BUILT_IN" (field_expression "aVar11.result" identifier . field_identifier) + identifier) ))) , (field_expression "aVar16.whatever" identifier . field_identifier) , (pointer_expression "&iStack_1d0" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }\n    else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }\n    }" { (if_statement "if (iStack_1d0 == 0) {\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }" if (parenthesized_expression "(iStack_1d0 == 0)" ( (binary_expression "iStack_1d0 == 0" identifier == number_literal) )) (compound_statement "{\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }" { (expression_statement "CVar22 = ~CURLE_OK;" (assignment_expression "CVar22 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;) (expression_statement "aVar11 = aVar16;" (assignment_expression "aVar11 = aVar16" identifier = identifier) ;) }) (else_clause "else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }" else (if_statement "if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }\n      else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }" if (parenthesized_expression "(iStack_1d0 < 0)" ( (binary_expression "iStack_1d0 < 0" identifier < number_literal) )) (compound_statement "{\n        (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n        CVar22 = ~CURLE_OK;\n        aVar11 = aVar16;\n      }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);" (call_expression "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar24 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar24 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar24 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar24 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar24 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x6f900)" ( (binary_expression "pcVar24 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(aStack_1d8.whatever)" ( (field_expression "aStack_1d8.whatever" identifier . field_identifier) ))) ;) (expression_statement "CVar22 = ~CURLE_OK;" (assignment_expression "CVar22 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;) (expression_statement "aVar11 = aVar16;" (assignment_expression "aVar11 = aVar16" identifier = identifier) ;) }) (else_clause "else {\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }" else (compound_statement "{\n        uVar26 = (**(code **)(pcVar24 + 0x6fce0))();\n        aVar16 = aStack_1d8;\n        iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }\n      }" { (expression_statement "uVar26 = (**(code **)(pcVar24 + 0x6fce0))();" (assignment_expression "uVar26 = (**(code **)(pcVar24 + 0x6fce0))()" identifier = (call_expression "(**(code **)(pcVar24 + 0x6fce0))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x6fce0))" ( (pointer_expression "**(code **)(pcVar24 + 0x6fce0)" * (pointer_expression "*(code **)(pcVar24 + 0x6fce0)" * (cast_expression "(code **)(pcVar24 + 0x6fce0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x6fce0)" ( (binary_expression "pcVar24 + 0x6fce0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "aVar16 = aStack_1d8;" (assignment_expression "aVar16 = aStack_1d8" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);" (assignment_expression "iVar2 = (**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8)" identifier = (call_expression "(**(code **)(piVar8[0xbd] + 0x20))\n                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8)" (parenthesized_expression "(**(code **)(piVar8[0xbd] + 0x20))" ( (pointer_expression "**(code **)(piVar8[0xbd] + 0x20)" * (pointer_expression "*(code **)(piVar8[0xbd] + 0x20)" * (cast_expression "(code **)(piVar8[0xbd] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar8[0xbd] + 0x20)" ( (binary_expression "piVar8[0xbd] + 0x20" (subscript_expression "piVar8[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8)" ( (subscript_expression "piVar8[0xbc]" identifier [ number_literal ]) , (field_expression "aStack_1d8.whatever" identifier . field_identifier) , identifier , (field_expression "aVar21.whatever" identifier . field_identifier) , identifier )))) ;) (if_statement "if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }\n        else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }" if (parenthesized_expression "(iVar2 < 1)" ( (binary_expression "iVar2 < 1" identifier < number_literal) )) (compound_statement "{\n          (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n          CVar22 = ~CURLE_OK;\n          aVar11 = aVar16;\n        }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);" (call_expression "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar24 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar24 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar24 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar24 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar24 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x6f900)" ( (binary_expression "pcVar24 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(aStack_1d8.whatever)" ( (field_expression "aStack_1d8.whatever" identifier . field_identifier) ))) ;) (expression_statement "CVar22 = ~CURLE_OK;" (assignment_expression "CVar22 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;) (expression_statement "aVar11 = aVar16;" (assignment_expression "aVar11 = aVar16" identifier = identifier) ;) }) (else_clause "else {\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }" else (compound_statement "{\n          if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }\n          *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;\n          if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }\n        }" { (if_statement "if (*(char *)(*piVar8 + 0x958) != '\0') {\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }" if (parenthesized_expression "(*(char *)(*piVar8 + 0x958) != '\0')" ( (binary_expression "*(char *)(*piVar8 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar8 + 0x958)" * (cast_expression "(char *)(*piVar8 + 0x958)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + 0x958)" ( (binary_expression "*piVar8 + 0x958" (pointer_expression "*piVar8" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;\n            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );\n          }" { (expression_statement "*(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10;" (assignment_expression "*(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 10" (pointer_expression "*(undefined1 *)((int)aStack_1d8.whatever + iVar2)" * (cast_expression "(undefined1 *)((int)aStack_1d8.whatever + iVar2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aStack_1d8.whatever + iVar2)" ( (binary_expression "(int)aStack_1d8.whatever + iVar2" (cast_expression "(int)aStack_1d8.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aStack_1d8.whatever" identifier . field_identifier)) + identifier) )))) = number_literal) ;) (expression_statement "aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;" (assignment_expression "aVar16.result = CURLE_UNSUPPORTED_PROTOCOL" (field_expression "aVar16.result" identifier . field_identifier) = identifier) ;) (expression_statement "Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      );" (call_expression "Curl_debug((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      )" identifier (argument_list "((Curl_easy *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,iVar2 + 1\n                      )" ( (cast_expression "(Curl_easy *)*piVar8" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) , identifier , (cast_expression "(char *)aStack_1d8.whatever" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_1d8.whatever" identifier . field_identifier)) , (binary_expression "iVar2 + 1" identifier + number_literal) ))) ;) })) (expression_statement "*(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0;" (assignment_expression "*(undefined1 *)((int)aStack_1d8.whatever + iVar2) = 0" (pointer_expression "*(undefined1 *)((int)aStack_1d8.whatever + iVar2)" * (cast_expression "(undefined1 *)((int)aStack_1d8.whatever + iVar2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aStack_1d8.whatever + iVar2)" ( (binary_expression "(int)aStack_1d8.whatever + iVar2" (cast_expression "(int)aStack_1d8.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aStack_1d8.whatever" identifier . field_identifier)) + identifier) )))) = number_literal) ;) (if_statement "if (iVar2 < 4) {\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }\n          else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }" if (parenthesized_expression "(iVar2 < 4)" ( (binary_expression "iVar2 < 4" identifier < number_literal) )) (compound_statement "{\n            CVar22 = CURLE_OK;\n            aVar11 = aVar16;\n          }" { (expression_statement "CVar22 = CURLE_OK;" (assignment_expression "CVar22 = CURLE_OK" identifier = identifier) ;) (expression_statement "aVar11 = aVar16;" (assignment_expression "aVar11 = aVar16" identifier = identifier) ;) }) (else_clause "else {\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }" else (compound_statement "{\n            if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }\n            pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);\n            if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }\n            aVar16 = aStack_1d8;\n            (**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);\n            (*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);\n            CVar22 = CStack_1d4;\n            aVar11 = aVar16;\n          }" { (if_statement "if (*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d) {\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }" if (parenthesized_expression "(*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d)" ( (binary_expression "*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT) != 0x2d" (pointer_expression "*(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT)" * (cast_expression "(byte *)(aStack_1d8.result + CURLE_URL_MALFORMAT)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aStack_1d8.result + CURLE_URL_MALFORMAT)" ( (binary_expression "aStack_1d8.result + CURLE_URL_MALFORMAT" (field_expression "aStack_1d8.result" identifier . field_identifier) + identifier) )))) != number_literal) )) (compound_statement "{\n              (**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);\n            }" { (expression_statement "(**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4);" (call_expression "(**(code **)(pcVar24 + 0x70494))\n                        (aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4)" (parenthesized_expression "(**(code **)(pcVar24 + 0x70494))" ( (pointer_expression "**(code **)(pcVar24 + 0x70494)" * (pointer_expression "*(code **)(pcVar24 + 0x70494)" * (cast_expression "(code **)(pcVar24 + 0x70494)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70494)" ( (binary_expression "pcVar24 + 0x70494" identifier + number_literal) ))))) )) (argument_list "(aStack_1d8.whatever,*(int *)(pcVar24 + 0x6f8f8) + 0x3a18,&CStack_1d4)" ( (field_expression "aStack_1d8.whatever" identifier . field_identifier) , (binary_expression "*(int *)(pcVar24 + 0x6f8f8) + 0x3a18" (pointer_expression "*(int *)(pcVar24 + 0x6f8f8)" * (cast_expression "(int *)(pcVar24 + 0x6f8f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x6f8f8)" ( (binary_expression "pcVar24 + 0x6f8f8" identifier + number_literal) )))) + number_literal) , (pointer_expression "&CStack_1d4" & identifier) ))) ;) })) (expression_statement "pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1);" (assignment_expression "pcVar12 = (char *)((int)aStack_1d8.whatever + iVar2 + -1)" identifier = (cast_expression "(char *)((int)aStack_1d8.whatever + iVar2 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aStack_1d8.whatever + iVar2 + -1)" ( (binary_expression "(int)aStack_1d8.whatever + iVar2 + -1" (binary_expression "(int)aStack_1d8.whatever + iVar2" (cast_expression "(int)aStack_1d8.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aStack_1d8.whatever" identifier . field_identifier)) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar12 == '\n') {\n              *pcVar12 = '\0';\n            }" if (parenthesized_expression "(*pcVar12 == '\n')" ( (binary_expression "*pcVar12 == '\n'" (pointer_expression "*pcVar12" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              *pcVar12 = '\0';\n            }" { (expression_statement "*pcVar12 = '\0';" (assignment_expression "*pcVar12 = '\0'" (pointer_expression "*pcVar12" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "aVar16 = aStack_1d8;" (assignment_expression "aVar16 = aStack_1d8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);" (call_expression "(**(code **)(pcVar24 + 0x70108))(aVar11.whatever,aStack_1d8.whatever)" (parenthesized_expression "(**(code **)(pcVar24 + 0x70108))" ( (pointer_expression "**(code **)(pcVar24 + 0x70108)" * (pointer_expression "*(code **)(pcVar24 + 0x70108)" * (cast_expression "(code **)(pcVar24 + 0x70108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70108)" ( (binary_expression "pcVar24 + 0x70108" identifier + number_literal) ))))) )) (argument_list "(aVar11.whatever,aStack_1d8.whatever)" ( (field_expression "aVar11.whatever" identifier . field_identifier) , (field_expression "aStack_1d8.whatever" identifier . field_identifier) ))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever);" (call_expression "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))(aStack_1d8.whatever)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar24 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar24 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar24 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar24 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar24 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar24 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x6f900)" ( (binary_expression "pcVar24 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(aStack_1d8.whatever)" ( (field_expression "aStack_1d8.whatever" identifier . field_identifier) ))) ;) (expression_statement "CVar22 = CStack_1d4;" (assignment_expression "CVar22 = CStack_1d4" identifier = identifier) ;) (expression_statement "aVar11 = aVar16;" (assignment_expression "aVar11 = aVar16" identifier = identifier) ;) }))) }))) }))))) }) (else_clause "else {\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }" else (compound_statement "{\n      CVar22 = ~CURLE_OK;\n      aVar11 = aVar16;\n    }" { (expression_statement "CVar22 = ~CURLE_OK;" (assignment_expression "CVar22 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;) (expression_statement "aVar11 = aVar16;" (assignment_expression "aVar11 = aVar16" identifier = identifier) ;) }))) }))) (if_statement "if (iStack_1cc != **(int **)(pcVar24 + 0x70790)) {\n    pcVar24 = *(code **)(pcVar24 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar24)();\n    iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478;\n    iVar13 = 0;\n    do {\n      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);\n      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);\n      if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }\n      iVar13 = iVar13 + 1;\n      iVar15 = iVar15 + 8;\n    } while (iVar13 != 4);\n    return ~CURLE_OK;\n  }" if (parenthesized_expression "(iStack_1cc != **(int **)(pcVar24 + 0x70790))" ( (binary_expression "iStack_1cc != **(int **)(pcVar24 + 0x70790)" identifier != (pointer_expression "**(int **)(pcVar24 + 0x70790)" * (pointer_expression "*(int **)(pcVar24 + 0x70790)" * (cast_expression "(int **)(pcVar24 + 0x70790)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70790)" ( (binary_expression "pcVar24 + 0x70790" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar24 = *(code **)(pcVar24 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar24)();\n    iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478;\n    iVar13 = 0;\n    do {\n      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);\n      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);\n      if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }\n      iVar13 = iVar13 + 1;\n      iVar15 = iVar15 + 8;\n    } while (iVar13 != 4);\n    return ~CURLE_OK;\n  }" { (expression_statement "pcVar24 = *(code **)(pcVar24 + 0x70404);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0x70404)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x70404)" * (cast_expression "(code **)(pcVar24 + 0x70404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70404)" ( (binary_expression "pcVar24 + 0x70404" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = iStack_1cc;" (assignment_expression "iVar2 = iStack_1cc" identifier = identifier) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478;" (assignment_expression "iVar15 = *(int *)(pcVar24 + 0x6f6b4) + 0x478" identifier = (binary_expression "*(int *)(pcVar24 + 0x6f6b4) + 0x478" (pointer_expression "*(int *)(pcVar24 + 0x6f6b4)" * (cast_expression "(int *)(pcVar24 + 0x6f6b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x6f6b4)" ( (binary_expression "pcVar24 + 0x6f6b4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);\n      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);\n      if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }\n      iVar13 = iVar13 + 1;\n      iVar15 = iVar15 + 8;\n    } while (iVar13 != 4);" do (compound_statement "{\n      uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);\n      iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);\n      if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }\n      iVar13 = iVar13 + 1;\n      iVar15 = iVar15 + 8;\n    }" { (expression_statement "uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever);" (assignment_expression "uVar26 = (**(code **)(pcVar24 + 0x70424))(aVar11.whatever)" identifier = (call_expression "(**(code **)(pcVar24 + 0x70424))(aVar11.whatever)" (parenthesized_expression "(**(code **)(pcVar24 + 0x70424))" ( (pointer_expression "**(code **)(pcVar24 + 0x70424)" * (pointer_expression "*(code **)(pcVar24 + 0x70424)" * (cast_expression "(code **)(pcVar24 + 0x70424)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x70424)" ( (binary_expression "pcVar24 + 0x70424" identifier + number_literal) ))))) )) (argument_list "(aVar11.whatever)" ( (field_expression "aVar11.whatever" identifier . field_identifier) )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26);" (assignment_expression "iVar6 = (**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26)" identifier = (call_expression "(**(code **)(pcVar24 + 0x704b4))(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26)" (parenthesized_expression "(**(code **)(pcVar24 + 0x704b4))" ( (pointer_expression "**(code **)(pcVar24 + 0x704b4)" * (pointer_expression "*(code **)(pcVar24 + 0x704b4)" * (cast_expression "(code **)(pcVar24 + 0x704b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x704b4)" ( (binary_expression "pcVar24 + 0x704b4" identifier + number_literal) ))))) )) (argument_list "(aVar11.whatever,*(undefined4 *)(iVar15 + 4),uVar26)" ( (field_expression "aVar11.whatever" identifier . field_identifier) , (pointer_expression "*(undefined4 *)(iVar15 + 4)" * (cast_expression "(undefined4 *)(iVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);\n        if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }\n        return ~CURLE_OK;\n      }" { (expression_statement "iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478);" (assignment_expression "iVar13 = *(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478)" identifier = (pointer_expression "*(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478)" * (cast_expression "(int *)(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478)" ( (binary_expression "iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4) + 0x478" (binary_expression "iVar13 * 8 + *(int *)(pcVar24 + 0x6f6b4)" (binary_expression "iVar13 * 8" identifier * number_literal) + (pointer_expression "*(int *)(pcVar24 + 0x6f6b4)" * (cast_expression "(int *)(pcVar24 + 0x6f6b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x6f6b4)" ( (binary_expression "pcVar24 + 0x6f6b4" identifier + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar13 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n          *(int *)(iVar2 + 0x2d8) = iVar13;\n          return CURLE_OK;\n        }" { (expression_statement "*(int *)(iVar2 + 0x2d8) = iVar13;" (assignment_expression "*(int *)(iVar2 + 0x2d8) = iVar13" (pointer_expression "*(int *)(iVar2 + 0x2d8)" * (cast_expression "(int *)(iVar2 + 0x2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2d8)" ( (binary_expression "iVar2 + 0x2d8" identifier + number_literal) )))) = identifier) ;) (return_statement "return CURLE_OK;" return identifier ;) })) (return_statement "return ~CURLE_OK;" return (unary_expression "~CURLE_OK" ~ identifier) ;) })) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar15 + 8;" (assignment_expression "iVar15 = iVar15 + 8" identifier = (binary_expression "iVar15 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar13 != 4)" ( (binary_expression "iVar13 != 4" identifier != number_literal) )) ;) (return_statement "return ~CURLE_OK;" return (unary_expression "~CURLE_OK" ~ identifier) ;) })) (return_statement "return CVar22;" return identifier ;) })))
(translation_unit "code ******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)\n\n{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}\n\n" (function_definition "code ******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)\n\n{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}" type_identifier (pointer_declarator "******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "****** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "***** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "**** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "*** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (pointer_declarator "* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" * (function_declarator "FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" identifier (parameter_list "(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "code *******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" * (pointer_declarator "*param_3" * identifier)))))))) , (parameter_declaration "code *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) )))))))))) (compound_statement "{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}" { (declaration "code *******pppppppcVar1;" type_identifier (pointer_declarator "*******pppppppcVar1" * (pointer_declarator "******pppppppcVar1" * (pointer_declarator "*****pppppppcVar1" * (pointer_declarator "****pppppppcVar1" * (pointer_declarator "***pppppppcVar1" * (pointer_declarator "**pppppppcVar1" * (pointer_declarator "*pppppppcVar1" * identifier))))))) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "code *******pppppppcVar3;" type_identifier (pointer_declarator "*******pppppppcVar3" * (pointer_declarator "******pppppppcVar3" * (pointer_declarator "*****pppppppcVar3" * (pointer_declarator "****pppppppcVar3" * (pointer_declarator "***pppppppcVar3" * (pointer_declarator "**pppppppcVar3" * (pointer_declarator "*pppppppcVar3" * identifier))))))) ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "code *******pppppppcVar8;" type_identifier (pointer_declarator "*******pppppppcVar8" * (pointer_declarator "******pppppppcVar8" * (pointer_declarator "*****pppppppcVar8" * (pointer_declarator "****pppppppcVar8" * (pointer_declarator "***pppppppcVar8" * (pointer_declarator "**pppppppcVar8" * (pointer_declarator "*pppppppcVar8" * identifier))))))) ;) (declaration "code *******pppppppcVar9;" type_identifier (pointer_declarator "*******pppppppcVar9" * (pointer_declarator "******pppppppcVar9" * (pointer_declarator "*****pppppppcVar9" * (pointer_declarator "****pppppppcVar9" * (pointer_declarator "***pppppppcVar9" * (pointer_declarator "**pppppppcVar9" * (pointer_declarator "*pppppppcVar9" * identifier))))))) ;) (declaration "code *******pppppppcVar10;" type_identifier (pointer_declarator "*******pppppppcVar10" * (pointer_declarator "******pppppppcVar10" * (pointer_declarator "*****pppppppcVar10" * (pointer_declarator "****pppppppcVar10" * (pointer_declarator "***pppppppcVar10" * (pointer_declarator "**pppppppcVar10" * (pointer_declarator "*pppppppcVar10" * identifier))))))) ;) (declaration "code *******unaff_s1;" type_identifier (pointer_declarator "*******unaff_s1" * (pointer_declarator "******unaff_s1" * (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier))))))) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "code *******pppppppcVar12;" type_identifier (pointer_declarator "*******pppppppcVar12" * (pointer_declarator "******pppppppcVar12" * (pointer_declarator "*****pppppppcVar12" * (pointer_declarator "****pppppppcVar12" * (pointer_declarator "***pppppppcVar12" * (pointer_declarator "**pppppppcVar12" * (pointer_declarator "*pppppppcVar12" * identifier))))))) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 unaff_s2;" type_identifier identifier ;) (declaration "code *******pppppppcVar14;" type_identifier (pointer_declarator "*******pppppppcVar14" * (pointer_declarator "******pppppppcVar14" * (pointer_declarator "*****pppppppcVar14" * (pointer_declarator "****pppppppcVar14" * (pointer_declarator "***pppppppcVar14" * (pointer_declarator "**pppppppcVar14" * (pointer_declarator "*pppppppcVar14" * identifier))))))) ;) (declaration "int unaff_s3;" primitive_type identifier ;) (declaration "code *******pppppppcVar15;" type_identifier (pointer_declarator "*******pppppppcVar15" * (pointer_declarator "******pppppppcVar15" * (pointer_declarator "*****pppppppcVar15" * (pointer_declarator "****pppppppcVar15" * (pointer_declarator "***pppppppcVar15" * (pointer_declarator "**pppppppcVar15" * (pointer_declarator "*pppppppcVar15" * identifier))))))) ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined4 unaff_s5;" type_identifier identifier ;) (declaration "code *******pppppppcVar16;" type_identifier (pointer_declarator "*******pppppppcVar16" * (pointer_declarator "******pppppppcVar16" * (pointer_declarator "*****pppppppcVar16" * (pointer_declarator "****pppppppcVar16" * (pointer_declarator "***pppppppcVar16" * (pointer_declarator "**pppppppcVar16" * (pointer_declarator "*pppppppcVar16" * identifier))))))) ;) (declaration "code ******ppppppcVar17;" type_identifier (pointer_declarator "******ppppppcVar17" * (pointer_declarator "*****ppppppcVar17" * (pointer_declarator "****ppppppcVar17" * (pointer_declarator "***ppppppcVar17" * (pointer_declarator "**ppppppcVar17" * (pointer_declarator "*ppppppcVar17" * identifier)))))) ;) (declaration "code *******pppppppcVar18;" type_identifier (pointer_declarator "*******pppppppcVar18" * (pointer_declarator "******pppppppcVar18" * (pointer_declarator "*****pppppppcVar18" * (pointer_declarator "****pppppppcVar18" * (pointer_declarator "***pppppppcVar18" * (pointer_declarator "**pppppppcVar18" * (pointer_declarator "*pppppppcVar18" * identifier))))))) ;) (declaration "code *******pppppppcVar19;" type_identifier (pointer_declarator "*******pppppppcVar19" * (pointer_declarator "******pppppppcVar19" * (pointer_declarator "*****pppppppcVar19" * (pointer_declarator "****pppppppcVar19" * (pointer_declarator "***pppppppcVar19" * (pointer_declarator "**pppppppcVar19" * (pointer_declarator "*pppppppcVar19" * identifier))))))) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *******pppppppcVar22;" type_identifier (pointer_declarator "*******pppppppcVar22" * (pointer_declarator "******pppppppcVar22" * (pointer_declarator "*****pppppppcVar22" * (pointer_declarator "****pppppppcVar22" * (pointer_declarator "***pppppppcVar22" * (pointer_declarator "**pppppppcVar22" * (pointer_declarator "*pppppppcVar22" * identifier))))))) ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "code *******pppppppcStack_1d8;" type_identifier (pointer_declarator "*******pppppppcStack_1d8" * (pointer_declarator "******pppppppcStack_1d8" * (pointer_declarator "*****pppppppcStack_1d8" * (pointer_declarator "****pppppppcStack_1d8" * (pointer_declarator "***pppppppcStack_1d8" * (pointer_declarator "**pppppppcStack_1d8" * (pointer_declarator "*pppppppcStack_1d8" * identifier))))))) ;) (declaration "code *******pppppppcStack_1d4;" type_identifier (pointer_declarator "*******pppppppcStack_1d4" * (pointer_declarator "******pppppppcStack_1d4" * (pointer_declarator "*****pppppppcStack_1d4" * (pointer_declarator "****pppppppcStack_1d4" * (pointer_declarator "***pppppppcStack_1d4" * (pointer_declarator "**pppppppcStack_1d4" * (pointer_declarator "*pppppppcStack_1d4" * identifier))))))) ;) (declaration "int iStack_1d0;" primitive_type identifier ;) (declaration "int iStack_1cc;" primitive_type identifier ;) (declaration "code *******pppppppcStack_1c8;" type_identifier (pointer_declarator "*******pppppppcStack_1c8" * (pointer_declarator "******pppppppcStack_1c8" * (pointer_declarator "*****pppppppcStack_1c8" * (pointer_declarator "****pppppppcStack_1c8" * (pointer_declarator "***pppppppcStack_1c8" * (pointer_declarator "**pppppppcStack_1c8" * (pointer_declarator "*pppppppcStack_1c8" * identifier))))))) ;) (declaration "code *******pppppppcStack_1c4;" type_identifier (pointer_declarator "*******pppppppcStack_1c4" * (pointer_declarator "******pppppppcStack_1c4" * (pointer_declarator "*****pppppppcStack_1c4" * (pointer_declarator "****pppppppcStack_1c4" * (pointer_declarator "***pppppppcStack_1c4" * (pointer_declarator "**pppppppcStack_1c4" * (pointer_declarator "*pppppppcStack_1c4" * identifier))))))) ;) (declaration "code *******pppppppcStack_1c0;" type_identifier (pointer_declarator "*******pppppppcStack_1c0" * (pointer_declarator "******pppppppcStack_1c0" * (pointer_declarator "*****pppppppcStack_1c0" * (pointer_declarator "****pppppppcStack_1c0" * (pointer_declarator "***pppppppcStack_1c0" * (pointer_declarator "**pppppppcStack_1c0" * (pointer_declarator "*pppppppcStack_1c0" * identifier))))))) ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "code *******pppppppcStack_1a8;" type_identifier (pointer_declarator "*******pppppppcStack_1a8" * (pointer_declarator "******pppppppcStack_1a8" * (pointer_declarator "*****pppppppcStack_1a8" * (pointer_declarator "****pppppppcStack_1a8" * (pointer_declarator "***pppppppcStack_1a8" * (pointer_declarator "**pppppppcStack_1a8" * (pointer_declarator "*pppppppcStack_1a8" * identifier))))))) ;) (declaration "code *pcStack_1a0;" type_identifier (pointer_declarator "*pcStack_1a0" * identifier) ;) (declaration "code *******pppppppcStack_198;" type_identifier (pointer_declarator "*******pppppppcStack_198" * (pointer_declarator "******pppppppcStack_198" * (pointer_declarator "*****pppppppcStack_198" * (pointer_declarator "****pppppppcStack_198" * (pointer_declarator "***pppppppcStack_198" * (pointer_declarator "**pppppppcStack_198" * (pointer_declarator "*pppppppcStack_198" * identifier))))))) ;) (declaration "int *piStack_194;" primitive_type (pointer_declarator "*piStack_194" * identifier) ;) (declaration "code *******pppppppcStack_18c;" type_identifier (pointer_declarator "*******pppppppcStack_18c" * (pointer_declarator "******pppppppcStack_18c" * (pointer_declarator "*****pppppppcStack_18c" * (pointer_declarator "****pppppppcStack_18c" * (pointer_declarator "***pppppppcStack_18c" * (pointer_declarator "**pppppppcStack_18c" * (pointer_declarator "*pppppppcStack_18c" * identifier))))))) ;) (declaration "code *******pppppppcStack_188;" type_identifier (pointer_declarator "*******pppppppcStack_188" * (pointer_declarator "******pppppppcStack_188" * (pointer_declarator "*****pppppppcStack_188" * (pointer_declarator "****pppppppcStack_188" * (pointer_declarator "***pppppppcStack_188" * (pointer_declarator "**pppppppcStack_188" * (pointer_declarator "*pppppppcStack_188" * identifier))))))) ;) (declaration "code *******pppppppcStack_184;" type_identifier (pointer_declarator "*******pppppppcStack_184" * (pointer_declarator "******pppppppcStack_184" * (pointer_declarator "*****pppppppcStack_184" * (pointer_declarator "****pppppppcStack_184" * (pointer_declarator "***pppppppcStack_184" * (pointer_declarator "**pppppppcStack_184" * (pointer_declarator "*pppppppcStack_184" * identifier))))))) ;) (declaration "code *******pppppppcStack_180;" type_identifier (pointer_declarator "*******pppppppcStack_180" * (pointer_declarator "******pppppppcStack_180" * (pointer_declarator "*****pppppppcStack_180" * (pointer_declarator "****pppppppcStack_180" * (pointer_declarator "***pppppppcStack_180" * (pointer_declarator "**pppppppcStack_180" * (pointer_declarator "*pppppppcStack_180" * identifier))))))) ;) (declaration "code *******pppppppcStack_17c;" type_identifier (pointer_declarator "*******pppppppcStack_17c" * (pointer_declarator "******pppppppcStack_17c" * (pointer_declarator "*****pppppppcStack_17c" * (pointer_declarator "****pppppppcStack_17c" * (pointer_declarator "***pppppppcStack_17c" * (pointer_declarator "**pppppppcStack_17c" * (pointer_declarator "*pppppppcStack_17c" * identifier))))))) ;) (declaration "code *******pppppppcStack_178;" type_identifier (pointer_declarator "*******pppppppcStack_178" * (pointer_declarator "******pppppppcStack_178" * (pointer_declarator "*****pppppppcStack_178" * (pointer_declarator "****pppppppcStack_178" * (pointer_declarator "***pppppppcStack_178" * (pointer_declarator "**pppppppcStack_178" * (pointer_declarator "*pppppppcStack_178" * identifier))))))) ;) (declaration "code *******pppppppcStack_174;" type_identifier (pointer_declarator "*******pppppppcStack_174" * (pointer_declarator "******pppppppcStack_174" * (pointer_declarator "*****pppppppcStack_174" * (pointer_declarator "****pppppppcStack_174" * (pointer_declarator "***pppppppcStack_174" * (pointer_declarator "**pppppppcStack_174" * (pointer_declarator "*pppppppcStack_174" * identifier))))))) ;) (declaration "code *******pppppppcStack_170;" type_identifier (pointer_declarator "*******pppppppcStack_170" * (pointer_declarator "******pppppppcStack_170" * (pointer_declarator "*****pppppppcStack_170" * (pointer_declarator "****pppppppcStack_170" * (pointer_declarator "***pppppppcStack_170" * (pointer_declarator "**pppppppcStack_170" * (pointer_declarator "*pppppppcStack_170" * identifier))))))) ;) (declaration "undefined4 uStack_16c;" type_identifier identifier ;) (declaration "code *pcStack_158;" type_identifier (pointer_declarator "*pcStack_158" * identifier) ;) (declaration "code *******pppppppcStack_14c;" type_identifier (pointer_declarator "*******pppppppcStack_14c" * (pointer_declarator "******pppppppcStack_14c" * (pointer_declarator "*****pppppppcStack_14c" * (pointer_declarator "****pppppppcStack_14c" * (pointer_declarator "***pppppppcStack_14c" * (pointer_declarator "**pppppppcStack_14c" * (pointer_declarator "*pppppppcStack_14c" * identifier))))))) ;) (declaration "undefined4 uStack_148;" type_identifier identifier ;) (declaration "code *******pppppppcStack_144;" type_identifier (pointer_declarator "*******pppppppcStack_144" * (pointer_declarator "******pppppppcStack_144" * (pointer_declarator "*****pppppppcStack_144" * (pointer_declarator "****pppppppcStack_144" * (pointer_declarator "***pppppppcStack_144" * (pointer_declarator "**pppppppcStack_144" * (pointer_declarator "*pppppppcStack_144" * identifier))))))) ;) (declaration "code ******appppppcStack_140 [13];" type_identifier (pointer_declarator "******appppppcStack_140 [13]" * (pointer_declarator "*****appppppcStack_140 [13]" * (pointer_declarator "****appppppcStack_140 [13]" * (pointer_declarator "***appppppcStack_140 [13]" * (pointer_declarator "**appppppcStack_140 [13]" * (pointer_declarator "*appppppcStack_140 [13]" * (array_declarator "appppppcStack_140 [13]" identifier [ number_literal ]))))))) ;) (declaration "code *******pppppppcStack_10c;" type_identifier (pointer_declarator "*******pppppppcStack_10c" * (pointer_declarator "******pppppppcStack_10c" * (pointer_declarator "*****pppppppcStack_10c" * (pointer_declarator "****pppppppcStack_10c" * (pointer_declarator "***pppppppcStack_10c" * (pointer_declarator "**pppppppcStack_10c" * (pointer_declarator "*pppppppcStack_10c" * identifier))))))) ;) (declaration "code *******pppppppcStack_104;" type_identifier (pointer_declarator "*******pppppppcStack_104" * (pointer_declarator "******pppppppcStack_104" * (pointer_declarator "*****pppppppcStack_104" * (pointer_declarator "****pppppppcStack_104" * (pointer_declarator "***pppppppcStack_104" * (pointer_declarator "**pppppppcStack_104" * (pointer_declarator "*pppppppcStack_104" * identifier))))))) ;) (declaration "code *******pppppppcStack_100;" type_identifier (pointer_declarator "*******pppppppcStack_100" * (pointer_declarator "******pppppppcStack_100" * (pointer_declarator "*****pppppppcStack_100" * (pointer_declarator "****pppppppcStack_100" * (pointer_declarator "***pppppppcStack_100" * (pointer_declarator "**pppppppcStack_100" * (pointer_declarator "*pppppppcStack_100" * identifier))))))) ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "code *******pppppppcStack_f0;" type_identifier (pointer_declarator "*******pppppppcStack_f0" * (pointer_declarator "******pppppppcStack_f0" * (pointer_declarator "*****pppppppcStack_f0" * (pointer_declarator "****pppppppcStack_f0" * (pointer_declarator "***pppppppcStack_f0" * (pointer_declarator "**pppppppcStack_f0" * (pointer_declarator "*pppppppcStack_f0" * identifier))))))) ;) (declaration "code *******pppppppcStack_ec;" type_identifier (pointer_declarator "*******pppppppcStack_ec" * (pointer_declarator "******pppppppcStack_ec" * (pointer_declarator "*****pppppppcStack_ec" * (pointer_declarator "****pppppppcStack_ec" * (pointer_declarator "***pppppppcStack_ec" * (pointer_declarator "**pppppppcStack_ec" * (pointer_declarator "*pppppppcStack_ec" * identifier))))))) ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "code ******ppppppcStack_e0;" type_identifier (pointer_declarator "******ppppppcStack_e0" * (pointer_declarator "*****ppppppcStack_e0" * (pointer_declarator "****ppppppcStack_e0" * (pointer_declarator "***ppppppcStack_e0" * (pointer_declarator "**ppppppcStack_e0" * (pointer_declarator "*ppppppcStack_e0" * identifier)))))) ;) (declaration "code *******pppppppcStack_dc;" type_identifier (pointer_declarator "*******pppppppcStack_dc" * (pointer_declarator "******pppppppcStack_dc" * (pointer_declarator "*****pppppppcStack_dc" * (pointer_declarator "****pppppppcStack_dc" * (pointer_declarator "***pppppppcStack_dc" * (pointer_declarator "**pppppppcStack_dc" * (pointer_declarator "*pppppppcStack_dc" * identifier))))))) ;) (declaration "undefined4 *puStack_d8;" type_identifier (pointer_declarator "*puStack_d8" * identifier) ;) (declaration "code *******pppppppcStack_d4;" type_identifier (pointer_declarator "*******pppppppcStack_d4" * (pointer_declarator "******pppppppcStack_d4" * (pointer_declarator "*****pppppppcStack_d4" * (pointer_declarator "****pppppppcStack_d4" * (pointer_declarator "***pppppppcStack_d4" * (pointer_declarator "**pppppppcStack_d4" * (pointer_declarator "*pppppppcStack_d4" * identifier))))))) ;) (declaration "code *******pppppppcStack_d0;" type_identifier (pointer_declarator "*******pppppppcStack_d0" * (pointer_declarator "******pppppppcStack_d0" * (pointer_declarator "*****pppppppcStack_d0" * (pointer_declarator "****pppppppcStack_d0" * (pointer_declarator "***pppppppcStack_d0" * (pointer_declarator "**pppppppcStack_d0" * (pointer_declarator "*pppppppcStack_d0" * identifier))))))) ;) (declaration "code *******pppppppcStack_cc;" type_identifier (pointer_declarator "*******pppppppcStack_cc" * (pointer_declarator "******pppppppcStack_cc" * (pointer_declarator "*****pppppppcStack_cc" * (pointer_declarator "****pppppppcStack_cc" * (pointer_declarator "***pppppppcStack_cc" * (pointer_declarator "**pppppppcStack_cc" * (pointer_declarator "*pppppppcStack_cc" * identifier))))))) ;) (declaration "code *******pppppppcStack_c8;" type_identifier (pointer_declarator "*******pppppppcStack_c8" * (pointer_declarator "******pppppppcStack_c8" * (pointer_declarator "*****pppppppcStack_c8" * (pointer_declarator "****pppppppcStack_c8" * (pointer_declarator "***pppppppcStack_c8" * (pointer_declarator "**pppppppcStack_c8" * (pointer_declarator "*pppppppcStack_c8" * identifier))))))) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "code *******local_b0;" type_identifier (pointer_declarator "*******local_b0" * (pointer_declarator "******local_b0" * (pointer_declarator "*****local_b0" * (pointer_declarator "****local_b0" * (pointer_declarator "***local_b0" * (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier))))))) ;) (declaration "undefined *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "code *******local_a0;" type_identifier (pointer_declarator "*******local_a0" * (pointer_declarator "******local_a0" * (pointer_declarator "*****local_a0" * (pointer_declarator "****local_a0" * (pointer_declarator "***local_a0" * (pointer_declarator "**local_a0" * (pointer_declarator "*local_a0" * identifier))))))) ;) (declaration "code *******local_9c;" type_identifier (pointer_declarator "*******local_9c" * (pointer_declarator "******local_9c" * (pointer_declarator "*****local_9c" * (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier))))))) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "code *******local_90;" type_identifier (pointer_declarator "*******local_90" * (pointer_declarator "******local_90" * (pointer_declarator "*****local_90" * (pointer_declarator "****local_90" * (pointer_declarator "***local_90" * (pointer_declarator "**local_90" * (pointer_declarator "*local_90" * identifier))))))) ;) (declaration "code *******local_8c;" type_identifier (pointer_declarator "*******local_8c" * (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier))))))) ;) (declaration "code *******local_84;" type_identifier (pointer_declarator "*******local_84" * (pointer_declarator "******local_84" * (pointer_declarator "*****local_84" * (pointer_declarator "****local_84" * (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier))))))) ;) (declaration "code *******local_80;" type_identifier (pointer_declarator "*******local_80" * (pointer_declarator "******local_80" * (pointer_declarator "*****local_80" * (pointer_declarator "****local_80" * (pointer_declarator "***local_80" * (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier))))))) ;) (declaration "code *******local_7c;" type_identifier (pointer_declarator "*******local_7c" * (pointer_declarator "******local_7c" * (pointer_declarator "*****local_7c" * (pointer_declarator "****local_7c" * (pointer_declarator "***local_7c" * (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier))))))) ;) (declaration "code ******local_78;" type_identifier (pointer_declarator "******local_78" * (pointer_declarator "*****local_78" * (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)))))) ;) (declaration "code *******local_74;" type_identifier (pointer_declarator "*******local_74" * (pointer_declarator "******local_74" * (pointer_declarator "*****local_74" * (pointer_declarator "****local_74" * (pointer_declarator "***local_74" * (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier))))))) ;) (declaration "code *******local_70;" type_identifier (pointer_declarator "*******local_70" * (pointer_declarator "******local_70" * (pointer_declarator "*****local_70" * (pointer_declarator "****local_70" * (pointer_declarator "***local_70" * (pointer_declarator "**local_70" * (pointer_declarator "*local_70" * identifier))))))) ;) (declaration "code *******local_6c;" type_identifier (pointer_declarator "*******local_6c" * (pointer_declarator "******local_6c" * (pointer_declarator "*****local_6c" * (pointer_declarator "****local_6c" * (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier))))))) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;" (assignment_expression "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4" identifier = (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" * (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar2 = param_2;" (assignment_expression "iVar2 = param_2" identifier = identifier) ;) (expression_statement "pppppppcVar14 = param_4;" (assignment_expression "pppppppcVar14 = param_4" identifier = identifier) ;) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" identifier = identifier) ;) (if_statement "if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }" if (parenthesized_expression "(param_4 != (code *******)0x0)" ( (binary_expression "param_4 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }" { (expression_statement "unaff_s4 = &local_28;" (assignment_expression "unaff_s4 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (expression_statement "unaff_s5 = 0x51;" (assignment_expression "unaff_s5 = 0x51" identifier = number_literal) ;) (expression_statement "unaff_s1 = param_3;" (assignment_expression "unaff_s1 = param_3" identifier = identifier) ;) (do_statement "do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);" do (compound_statement "{\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    }" { (expression_statement "iVar2 = param_2;" (assignment_expression "iVar2 = param_2" identifier = identifier) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "pppppppcVar14 = pppppppcVar9;" (assignment_expression "pppppppcVar14 = pppppppcVar9" identifier = identifier) ;) (expression_statement "param_4 = (code *******)FUN_000277f4(param_1);" (assignment_expression "param_4 = (code *******)FUN_000277f4(param_1)" identifier = (cast_expression "(code *******)FUN_000277f4(param_1)" ( (type_descriptor "code *******" 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_000277f4(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (expression_statement "unaff_s3 = param_2;" (assignment_expression "unaff_s3 = param_2" identifier = identifier) ;) (expression_statement "local_38 = unaff_s4;" (assignment_expression "local_38 = unaff_s4" identifier = identifier) ;) (if_statement "if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;" if (parenthesized_expression "(param_4 == (code *******)0x0)" ( (binary_expression "param_4 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }" { (expression_statement "unaff_s1 = (code *******)((int)unaff_s1 + local_28);" (assignment_expression "unaff_s1 = (code *******)((int)unaff_s1 + local_28)" identifier = (cast_expression "(code *******)((int)unaff_s1 + local_28)" ( (type_descriptor "code *******" 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)unaff_s1 + local_28)" ( (binary_expression "(int)unaff_s1 + local_28" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);" (assignment_expression "pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28)" identifier = (cast_expression "(code *******)((int)pppppppcVar9 - local_28)" ( (type_descriptor "code *******" 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)pppppppcVar9 - local_28)" ( (binary_expression "(int)pppppppcVar9 - local_28" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) }) (else_clause "else if (param_4 != (code *******)0x51) break;" else (if_statement "if (param_4 != (code *******)0x51) break;" if (parenthesized_expression "(param_4 != (code *******)0x51)" ( (binary_expression "param_4 != (code *******)0x51" identifier != (cast_expression "(code *******)0x51" ( (type_descriptor "code *******" 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 "param_4 = pppppppcVar9;" (assignment_expression "param_4 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" identifier = identifier) ;) }) while (parenthesized_expression "(param_4 != (code *******)0x0)" ( (binary_expression "param_4 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }" if (parenthesized_expression "(local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4)" ( (binary_expression "local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4" identifier == (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" * (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return param_4;\n  }" { (return_statement "return param_4;" return identifier ;) })) (expression_statement "puVar6 = local_24;" (assignment_expression "puVar6 = local_24" identifier = identifier) ;) (expression_statement "puVar20 = PTR___stack_chk_fail_000b1c48;" (assignment_expression "puVar20 = PTR___stack_chk_fail_000b1c48" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b1c48)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b1c48)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b1c48)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b1c48" * (cast_expression "(code *)PTR___stack_chk_fail_000b1c48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_a8 = puVar20 + 0x78154;" (assignment_expression "local_a8 = puVar20 + 0x78154" identifier = (binary_expression "puVar20 + 0x78154" identifier + number_literal)) ;) (expression_statement "local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);" (assignment_expression "local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018)" identifier = (cast_expression "(code *******)**(undefined4 **)(puVar20 + 0x71018)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(puVar20 + 0x71018)" * (pointer_expression "*(undefined4 **)(puVar20 + 0x71018)" * (cast_expression "(undefined4 **)(puVar20 + 0x71018)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x71018)" ( (binary_expression "puVar20 + 0x71018" identifier + number_literal) ))))))) ;) (expression_statement "local_a0 = (code *******)puVar6[iVar2 + 0x66];" (assignment_expression "local_a0 = (code *******)puVar6[iVar2 + 0x66]" identifier = (cast_expression "(code *******)puVar6[iVar2 + 0x66]" ( (type_descriptor "code *******" 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 "puVar6[iVar2 + 0x66]" identifier [ (binary_expression "iVar2 + 0x66" identifier + number_literal) ]))) ;) (expression_statement "*local_38 = 0;" (assignment_expression "*local_38 = 0" (pointer_expression "*local_38" * identifier) = number_literal) ;) (expression_statement "iVar11 = puVar6[0xb7];" (assignment_expression "iVar11 = puVar6[0xb7]" identifier = (subscript_expression "puVar6[0xb7]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);" (assignment_expression "pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18)" identifier = (pointer_expression "*(code ********)(puVar6[0xbd] + 0x18)" * (cast_expression "(code ********)(puVar6[0xbd] + 0x18)" ( (type_descriptor "code ********" 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 "(puVar6[0xbd] + 0x18)" ( (binary_expression "puVar6[0xbd] + 0x18" (subscript_expression "puVar6[0xbd]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "pppppppcVar16 = (code *******)puVar6[0xbc];" (assignment_expression "pppppppcVar16 = (code *******)puVar6[0xbc]" identifier = (cast_expression "(code *******)puVar6[0xbc]" ( (type_descriptor "code *******" 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 "puVar6[0xbc]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar18 = (code *******)puVar6[0xb5];" (assignment_expression "pppppppcVar18 = (code *******)puVar6[0xb5]" identifier = (cast_expression "(code *******)puVar6[0xb5]" ( (type_descriptor "code *******" 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 "puVar6[0xb5]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" identifier = identifier) ;) (expression_statement "local_70 = pppppppcVar9;" (assignment_expression "local_70 = pppppppcVar9" identifier = identifier) ;) (expression_statement "local_6c = unaff_s1;" (assignment_expression "local_6c = unaff_s1" identifier = identifier) ;) (expression_statement "local_68 = unaff_s2;" (assignment_expression "local_68 = unaff_s2" identifier = identifier) ;) (expression_statement "local_64 = unaff_s3;" (assignment_expression "local_64 = unaff_s3" identifier = identifier) ;) (expression_statement "local_60 = unaff_s4;" (assignment_expression "local_60 = unaff_s4" identifier = identifier) ;) (expression_statement "local_5c = unaff_s5;" (assignment_expression "local_5c = unaff_s5" identifier = identifier) ;) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11)" identifier = (cast_expression "(code *******)(**(code **)(puVar20 + 0x70618))(iVar11)" ( (type_descriptor "code *******" 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 **)(puVar20 + 0x70618))(iVar11)" (parenthesized_expression "(**(code **)(puVar20 + 0x70618))" ( (pointer_expression "**(code **)(puVar20 + 0x70618)" * (pointer_expression "*(code **)(puVar20 + 0x70618)" * (cast_expression "(code **)(puVar20 + 0x70618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x70618)" ( (binary_expression "puVar20 + 0x70618" identifier + number_literal) ))))) )) (argument_list "(iVar11)" ( identifier ))))) ;) (expression_statement "pppppppcVar9 = pppppppcVar18;" (assignment_expression "pppppppcVar9 = pppppppcVar18" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);" (assignment_expression "iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16)" identifier = (call_expression "(*(code *)pppppppcVar15)(pppppppcVar16)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar16)" ( identifier )))) ;) (expression_statement "pppppppcVar12 = (code *******)(iVar11 - iVar2);" (assignment_expression "pppppppcVar12 = (code *******)(iVar11 - iVar2)" identifier = (cast_expression "(code *******)(iVar11 - iVar2)" ( (type_descriptor "code *******" 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 "(iVar11 - iVar2)" ( (binary_expression "iVar11 - iVar2" identifier - identifier) )))) ;) (if_statement "if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }" if (parenthesized_expression "((int)pppppppcVar12 < 1)" ( (binary_expression "(int)pppppppcVar12 < 1" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    pppppppcVar12 = pppppppcVar14;\n  }" { (expression_statement "pppppppcVar12 = pppppppcVar14;" (assignment_expression "pppppppcVar12 = pppppppcVar14" identifier = identifier) ;) })) (expression_statement "pppppppcVar19 = (code *******)0x0;" (assignment_expression "pppppppcVar19 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }" if (parenthesized_expression "(pppppppcVar14 != (code *******)0x0)" ( (binary_expression "pppppppcVar14 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }" { (expression_statement "local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;" (assignment_expression "local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84" identifier = (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x6c84" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_94 = *(int *)(local_a8 + -0x7fd4);" (assignment_expression "local_94 = *(int *)(local_a8 + -0x7fd4)" identifier = (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);" (assignment_expression "pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0)" identifier = (cast_expression "(code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0)" ( (type_descriptor "code *******" 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 *)(local_a8 + -0x7be0) + 0xed0)" ( (binary_expression "*(int *)(local_a8 + -0x7be0) + 0xed0" (pointer_expression "*(int *)(local_a8 + -0x7be0)" * (cast_expression "(int *)(local_a8 + -0x7be0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7be0)" ( (binary_expression "local_a8 + -0x7be0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);" (assignment_expression "local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94)" identifier = (cast_expression "(code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94)" ( (type_descriptor "code *******" 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 *)(local_a8 + -0x7fd4) + 0x6c94)" ( (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x6c94" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "local_8c = *(code ********)(local_a8 + -0x7fd4);" (assignment_expression "local_8c = *(code ********)(local_a8 + -0x7fd4)" identifier = (pointer_expression "*(code ********)(local_a8 + -0x7fd4)" * (cast_expression "(code ********)(local_a8 + -0x7fd4)" ( (type_descriptor "code ********" 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 "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (do_statement "do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);" do (compound_statement "{\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    }" { (if_statement "if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }" if (parenthesized_expression "(pppppppcVar14 < pppppppcVar12)" ( (binary_expression "pppppppcVar14 < pppppppcVar12" identifier < identifier) )) (compound_statement "{\n        pppppppcVar12 = pppppppcVar14;\n      }" { (expression_statement "pppppppcVar12 = pppppppcVar14;" (assignment_expression "pppppppcVar12 = pppppppcVar14" identifier = identifier) ;) })) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12)" identifier = (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12)" ( (type_descriptor "code *******" 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 **)(local_a8 + -0x7b3c))(pppppppcVar12)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b3c))" ( (pointer_expression "**(code **)(local_a8 + -0x7b3c)" * (pointer_expression "*(code **)(local_a8 + -0x7b3c)" * (cast_expression "(code **)(local_a8 + -0x7b3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7b3c)" ( (binary_expression "local_a8 + -0x7b3c" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar12)" ( identifier ))))) ;) (expression_statement "local_80 = (code *******)0x0;" (assignment_expression "local_80 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "local_78 = (code ******)0x0;" (assignment_expression "local_78 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcVar22 = (code *******)puVar6[0xb5];" (assignment_expression "pppppppcVar22 = (code *******)puVar6[0xb5]" identifier = (cast_expression "(code *******)puVar6[0xb5]" ( (type_descriptor "code *******" 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 "puVar6[0xb5]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar18 = pppppppcVar22;" (assignment_expression "pppppppcVar18 = pppppppcVar22" identifier = identifier) ;) (if_statement "if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }" if (parenthesized_expression "(pppppppcVar22 == (code *******)&DAT_00000005)" ( (binary_expression "pppppppcVar22 == (code *******)&DAT_00000005" identifier == (cast_expression "(code *******)&DAT_00000005" ( (type_descriptor "code *******" 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 "&DAT_00000005" & identifier))) )) (compound_statement "{\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }" { (expression_statement "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5)" identifier = (call_expression "(**(code **)(local_a8 + -0x7588))(param_3,local_98,5)" (parenthesized_expression "(**(code **)(local_a8 + -0x7588))" ( (pointer_expression "**(code **)(local_a8 + -0x7588)" * (pointer_expression "*(code **)(local_a8 + -0x7588)" * (cast_expression "(code **)(local_a8 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7588)" ( (binary_expression "local_a8 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(param_3,local_98,5)" ( identifier , identifier , number_literal )))) ;) (expression_statement "pppppppcVar18 = (code *******)0x4;" (assignment_expression "pppppppcVar18 = (code *******)0x4" identifier = (cast_expression "(code *******)0x4" ( (type_descriptor "code *******" 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 ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }" if (parenthesized_expression "((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0))" ( (binary_expression "(iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)" ( (comma_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5)" identifier = (call_expression "(**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5)" (parenthesized_expression "(**(code **)(local_a8 + -0x7588))" ( (pointer_expression "**(code **)(local_a8 + -0x7588)" * (pointer_expression "*(code **)(local_a8 + -0x7588)" * (cast_expression "(code **)(local_a8 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7588)" ( (binary_expression "local_a8 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(param_3,local_94 + 0x6c8c,5)" ( identifier , (binary_expression "local_94 + 0x6c8c" identifier + number_literal) , number_literal )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }" { (expression_statement "pppppppcVar18 = (code *******)puVar6[0xb4];" (assignment_expression "pppppppcVar18 = (code *******)puVar6[0xb4]" identifier = (cast_expression "(code *******)puVar6[0xb4]" ( (type_descriptor "code *******" 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 "puVar6[0xb4]" identifier [ number_literal ]))) ;) })) })) (expression_statement "local_b0 = (code *******)&local_80;" (assignment_expression "local_b0 = (code *******)&local_80" identifier = (cast_expression "(code *******)&local_80" ( (type_descriptor "code *******" 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 "&local_80" & identifier))) ;) (expression_statement "pppppppcVar9 = param_3;" (assignment_expression "pppppppcVar9 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar18;" (assignment_expression "pppppppcVar3 = pppppppcVar18" identifier = identifier) ;) (expression_statement "pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);" (assignment_expression "pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" identifier = (cast_expression "(code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" ( (type_descriptor "code *******" 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 **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" (parenthesized_expression "(**(code **)(puVar6[0xbd] + 0x1c))" ( (pointer_expression "**(code **)(puVar6[0xbd] + 0x1c)" * (pointer_expression "*(code **)(puVar6[0xbd] + 0x1c)" * (cast_expression "(code **)(puVar6[0xbd] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6[0xbd] + 0x1c)" ( (binary_expression "puVar6[0xbd] + 0x1c" (subscript_expression "puVar6[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar6[0xbc])" ( (subscript_expression "puVar6[0xbc]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppcVar8 = local_a0;" (assignment_expression "pppppppcVar8 = local_a0" identifier = identifier) ;) (expression_statement "local_9c = local_80;" (assignment_expression "local_9c = local_80" identifier = identifier) ;) (if_statement "if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }" if (parenthesized_expression "((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16))" ( (binary_expression "(local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)" (parenthesized_expression "(local_80 != (code *******)0x0)" ( (binary_expression "local_80 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "(0 < (int)pppppppcVar16)" ( (binary_expression "0 < (int)pppppppcVar16" number_literal < (cast_expression "(int)pppppppcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }" { (if_statement "if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" if (parenthesized_expression "(pppppppcVar22 == (code *******)&DAT_00000005)" ( (binary_expression "pppppppcVar22 == (code *******)&DAT_00000005" identifier == (cast_expression "(code *******)&DAT_00000005" ( (type_descriptor "code *******" 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 "&DAT_00000005" & identifier))) )) (compound_statement "{\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" { (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" identifier = (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" ( (type_descriptor "code *******" 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 **)(local_a8 + -0x7b38))(pppppppcVar16)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b38))" ( (pointer_expression "**(code **)(local_a8 + -0x7b38)" * (pointer_expression "*(code **)(local_a8 + -0x7b38)" * (cast_expression "(code **)(local_a8 + -0x7b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7b38)" ( (binary_expression "local_a8 + -0x7b38" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar16)" ( identifier ))))) ;) (expression_statement "local_b0 = &local_78;" (assignment_expression "local_b0 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "pppppppcVar3 = (code *******)&local_7c;" (assignment_expression "pppppppcVar3 = (code *******)&local_7c" identifier = (cast_expression "(code *******)&local_7c" ( (type_descriptor "code *******" 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 "&local_7c" & identifier))) ;) (expression_statement "pppppppcVar8 = local_9c;" (assignment_expression "pppppppcVar8 = local_9c" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23)" identifier = (call_expression "(**(code **)(local_a8 + -0x7e58))(uVar23)" (parenthesized_expression "(**(code **)(local_a8 + -0x7e58))" ( (pointer_expression "**(code **)(local_a8 + -0x7e58)" * (pointer_expression "*(code **)(local_a8 + -0x7e58)" * (cast_expression "(code **)(local_a8 + -0x7e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7e58)" ( (binary_expression "local_a8 + -0x7e58" identifier + number_literal) ))))) )) (argument_list "(uVar23)" ( identifier )))) ;) (expression_statement "pppppppcVar22 = local_8c;" (assignment_expression "pppppppcVar22 = local_8c" identifier = identifier) ;) (expression_statement "pppppppcVar9 = local_a0;" (assignment_expression "pppppppcVar9 = local_a0" identifier = identifier) ;) (if_statement "if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }" { (expression_statement "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);" (call_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80)" (parenthesized_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))" ( (pointer_expression "*(code *)**(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(code *)**(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_a8 + -0x7fcc)" * (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))))) )) (argument_list "(local_80)" ( identifier ))) ;) (expression_statement "pppppppcVar9 = pppppppcVar8;" (assignment_expression "pppppppcVar9 = pppppppcVar8" identifier = identifier) ;) (goto_statement "goto LAB_00041228;" goto statement_identifier ;) })) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))) ;) (if_statement "if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }" if (parenthesized_expression "(local_78 != (code ******)0x0)" ( (binary_expression "local_78 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" 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            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }" { (if_statement "if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" if (parenthesized_expression "(pppppppcVar18 == (code *******)0x4)" ( (binary_expression "pppppppcVar18 == (code *******)0x4" identifier == (cast_expression "(code *******)0x4" ( (type_descriptor "code *******" 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              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }" { (expression_statement "pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);" (assignment_expression "pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4)" identifier = (pointer_expression "*(code ********)(local_a8 + -0x7fd4)" * (cast_expression "(code ********)(local_a8 + -0x7fd4)" ( (type_descriptor "code ********" 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 "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4)" ( identifier , identifier , (binary_expression "pppppppcVar16 + 0x1b1f" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,local_7c,local_78)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" ( identifier , identifier , (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pppppppcVar1 = pppppppcVar16 + 0x1b1f;" (assignment_expression "pppppppcVar1 = pppppppcVar16 + 0x1b1f" identifier = (binary_expression "pppppppcVar16 + 0x1b1f" identifier + number_literal)) ;) }) (else_clause "else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" else (compound_statement "{\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" { (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,local_a0,local_8c + 0x1b1d)" ( identifier , identifier , (binary_expression "local_8c + 0x1b1d" identifier + number_literal) ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,local_7c,local_78)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" ( identifier , identifier , (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" * (cast_expression "(int *)(local_a8 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a8 + -0x7fd4)" ( (binary_expression "local_a8 + -0x7fd4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pppppppcVar1 = pppppppcVar22 + 0x1b1d;" (assignment_expression "pppppppcVar1 = pppppppcVar22 + 0x1b1d" identifier = (binary_expression "pppppppcVar22 + 0x1b1d" identifier + number_literal)) ;) (expression_statement "pppppppcVar16 = pppppppcVar9;" (assignment_expression "pppppppcVar16 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar9 = pppppppcVar22;" (assignment_expression "pppppppcVar9 = pppppppcVar22" identifier = identifier) ;) }))) (expression_statement "pppppppcVar8 = local_90;" (assignment_expression "pppppppcVar8 = local_90" identifier = identifier) ;) (expression_statement "pppppppcVar3 = local_7c;" (assignment_expression "pppppppcVar3 = local_7c" identifier = identifier) ;) (expression_statement "FUN_00027444(uVar23);" (call_expression "FUN_00027444(uVar23)" identifier (argument_list "(uVar23)" ( identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);" (call_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c)" (parenthesized_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))" ( (pointer_expression "*(code *)**(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(code *)**(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_a8 + -0x7fcc)" * (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))))) )) (argument_list "(local_7c)" ( identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) })) }) (else_clause "else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" else (compound_statement "{\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" { (expression_statement "local_84 = pppppppcVar16;" (assignment_expression "local_84 = pppppppcVar16" identifier = identifier) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,local_a0,&local_84,4)" ( identifier , identifier , (pointer_expression "&local_84" & identifier) , number_literal ))) ;) (expression_statement "pppppppcVar18 = local_80;" (assignment_expression "pppppppcVar18 = local_80" identifier = identifier) ;) (expression_statement "pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);" (assignment_expression "pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" identifier = (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" ( (type_descriptor "code *******" 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 **)(local_a8 + -0x7b38))(pppppppcVar16)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b38))" ( (pointer_expression "**(code **)(local_a8 + -0x7b38)" * (pointer_expression "*(code **)(local_a8 + -0x7b38)" * (cast_expression "(code **)(local_a8 + -0x7b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7b38)" ( (binary_expression "local_a8 + -0x7b38" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar16)" ( identifier ))))) ;) (expression_statement "pppppppcVar1 = pppppppcVar18;" (assignment_expression "pppppppcVar1 = pppppppcVar18" identifier = identifier) ;) (expression_statement "(*(code *)pppppppcVar15)(puVar6);" (call_expression "(*(code *)pppppppcVar15)(puVar6)" (parenthesized_expression "(*(code *)pppppppcVar15)" ( (pointer_expression "*(code *)pppppppcVar15" * (cast_expression "(code *)pppppppcVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" identifier = (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" * (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x7fcc)" ( (binary_expression "local_a8 + -0x7fcc" identifier + number_literal) ))))) ;) }))) (expression_statement "(*(code *)*puVar4)(local_80);" (call_expression "(*(code *)*puVar4)(local_80)" (parenthesized_expression "(*(code *)*puVar4)" ( (pointer_expression "*(code *)*puVar4" * (cast_expression "(code *)*puVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar4" * identifier))) )) (argument_list "(local_80)" ( identifier ))) ;) (expression_statement "pppppppcVar9 = pppppppcVar8;" (assignment_expression "pppppppcVar9 = pppppppcVar8" identifier = identifier) ;) })) (labeled_statement "LAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);" statement_identifier : (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12)" identifier = (cast_expression "(code *******)((int)pppppppcVar14 - (int)pppppppcVar12)" ( (type_descriptor "code *******" 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)pppppppcVar14 - (int)pppppppcVar12)" ( (binary_expression "(int)pppppppcVar14 - (int)pppppppcVar12" (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);" (assignment_expression "param_3 = (code *******)((int)param_3 + (int)pppppppcVar12)" identifier = (cast_expression "(code *******)((int)param_3 + (int)pppppppcVar12)" ( (type_descriptor "code *******" 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_3 + (int)pppppppcVar12)" ( (binary_expression "(int)param_3 + (int)pppppppcVar12" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);" (assignment_expression "pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12)" identifier = (cast_expression "(code *******)((int)pppppppcVar19 + (int)pppppppcVar12)" ( (type_descriptor "code *******" 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)pppppppcVar19 + (int)pppppppcVar12)" ( (binary_expression "(int)pppppppcVar19 + (int)pppppppcVar12" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) while (parenthesized_expression "(pppppppcVar14 != (code *******)0x0)" ( (binary_expression "pppppppcVar14 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }" if (parenthesized_expression "(local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c))" ( (binary_expression "local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)" identifier == (cast_expression "(code *******)**(undefined4 **)(local_a8 + -0x713c)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(local_a8 + -0x713c)" * (pointer_expression "*(undefined4 **)(local_a8 + -0x713c)" * (cast_expression "(undefined4 **)(local_a8 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x713c)" ( (binary_expression "local_a8 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcVar19;\n  }" { (return_statement "return pppppppcVar19;" return identifier ;) })) (expression_statement "pcVar21 = *(code **)(local_a8 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(local_a8 + -0x74c8)" identifier = (pointer_expression "*(code **)(local_a8 + -0x74c8)" * (cast_expression "(code **)(local_a8 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_a8 + -0x74c8)" ( (binary_expression "local_a8 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = FUN_0004140c;" (assignment_expression "pcVar24 = FUN_0004140c" identifier = identifier) ;) (expression_statement "pppppppcVar22 = local_74;" (assignment_expression "pppppppcVar22 = local_74" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar21 + 0x77d04;" (assignment_expression "pcStack_e8 = pcVar21 + 0x77d04" identifier = (binary_expression "pcVar21 + 0x77d04" identifier + number_literal)) ;) (expression_statement "pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);" (assignment_expression "pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8)" identifier = (cast_expression "(code *******)**(undefined4 **)(pcVar21 + 0x70bc8)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcVar21 + 0x70bc8)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x70bc8)" * (cast_expression "(undefined4 **)(pcVar21 + 0x70bc8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70bc8)" ( (binary_expression "pcVar21 + 0x70bc8" identifier + number_literal) ))))))) ;) (expression_statement "pppppppcVar8 = pppppppcVar1;" (assignment_expression "pppppppcVar8 = pppppppcVar1" identifier = identifier) ;) (expression_statement "pppppppcVar10 = pppppppcVar1;" (assignment_expression "pppppppcVar10 = pppppppcVar1" identifier = identifier) ;) (expression_statement "puStack_d8 = puVar6;" (assignment_expression "puStack_d8 = puVar6" identifier = identifier) ;) (expression_statement "pppppppcStack_d4 = pppppppcVar12;" (assignment_expression "pppppppcStack_d4 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcStack_d0 = pppppppcVar14;" (assignment_expression "pppppppcStack_d0 = pppppppcVar14" identifier = identifier) ;) (expression_statement "pppppppcStack_cc = pppppppcVar15;" (assignment_expression "pppppppcStack_cc = pppppppcVar15" identifier = identifier) ;) (expression_statement "pppppppcStack_c8 = param_3;" (assignment_expression "pppppppcStack_c8 = param_3" identifier = identifier) ;) (expression_statement "pcStack_c4 = pcVar24;" (assignment_expression "pcStack_c4 = pcVar24" identifier = identifier) ;) (if_statement "if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }" if (parenthesized_expression "(pppppppcVar1 != (code *******)0x0)" ( (binary_expression "pppppppcVar1 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }" { (expression_statement "pppppppcVar15 = &ppppppcStack_e0;" (assignment_expression "pppppppcVar15 = &ppppppcStack_e0" identifier = (pointer_expression "&ppppppcStack_e0" & identifier)) ;) (expression_statement "param_3 = (code *******)0x51;" (assignment_expression "param_3 = (code *******)0x51" identifier = (cast_expression "(code *******)0x51" ( (type_descriptor "code *******" 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 "pppppppcVar12 = pppppppcVar9;" (assignment_expression "pppppppcVar12 = pppppppcVar9" identifier = identifier) ;) (do_statement "do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);" do (compound_statement "{\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    }" { (expression_statement "pppppppcVar9 = pppppppcVar12;" (assignment_expression "pppppppcVar9 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcVar10;" (assignment_expression "pppppppcVar8 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar15;" (assignment_expression "pppppppcVar3 = pppppppcVar15" identifier = identifier) ;) (expression_statement "pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);" (assignment_expression "pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22)" identifier = (cast_expression "(code *******)FUN_00027084(pppppppcVar22)" ( (type_descriptor "code *******" 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_00027084(pppppppcVar22)" identifier (argument_list "(pppppppcVar22)" ( identifier ))))) ;) (expression_statement "pppppppcVar14 = pppppppcVar22;" (assignment_expression "pppppppcVar14 = pppppppcVar22" identifier = identifier) ;) (if_statement "if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;" if (parenthesized_expression "(pppppppcVar1 == (code *******)0x0)" ( (binary_expression "pppppppcVar1 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }" { (expression_statement "pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);" (assignment_expression "pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0)" identifier = (cast_expression "(code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0)" ( (type_descriptor "code *******" 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)pppppppcVar12 + (int)ppppppcStack_e0)" ( (binary_expression "(int)pppppppcVar12 + (int)ppppppcStack_e0" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);" (assignment_expression "pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0)" identifier = (cast_expression "(code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0)" ( (type_descriptor "code *******" 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)pppppppcVar10 - (int)ppppppcStack_e0)" ( (binary_expression "(int)pppppppcVar10 - (int)ppppppcStack_e0" (cast_expression "(int)pppppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppcStack_e0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else if (pppppppcVar1 != (code *******)0x51) break;" else (if_statement "if (pppppppcVar1 != (code *******)0x51) break;" if (parenthesized_expression "(pppppppcVar1 != (code *******)0x51)" ( (binary_expression "pppppppcVar1 != (code *******)0x51" identifier != (cast_expression "(code *******)0x51" ( (type_descriptor "code *******" 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 "pppppppcVar1 = pppppppcVar10;" (assignment_expression "pppppppcVar1 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcVar10 = pppppppcVar1;" (assignment_expression "pppppppcVar10 = pppppppcVar1" identifier = identifier) ;) }) while (parenthesized_expression "(pppppppcVar1 != (code *******)0x0)" ( (binary_expression "pppppppcVar1 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }" if (parenthesized_expression "(pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c))" ( (binary_expression "pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)" identifier == (cast_expression "(code *******)**(undefined4 **)(pcStack_e8 + -0x713c)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcStack_e8 + -0x713c)" * (pointer_expression "*(undefined4 **)(pcStack_e8 + -0x713c)" * (cast_expression "(undefined4 **)(pcStack_e8 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x713c)" ( (binary_expression "pcStack_e8 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcVar1;\n  }" { (return_statement "return pppppppcVar1;" return identifier ;) })) (expression_statement "pcVar21 = *(code **)(pcStack_e8 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_e8 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_e8 + -0x74c8)" * (cast_expression "(code **)(pcStack_e8 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x74c8)" ( (binary_expression "pcStack_e8 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = FUN_000414e8;" (assignment_expression "pcVar24 = FUN_000414e8" identifier = identifier) ;) (expression_statement "pppppppcVar1 = pppppppcStack_dc;" (assignment_expression "pppppppcVar1 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_158 = pcVar21 + 0x77c28;" (assignment_expression "pcStack_158 = pcVar21 + 0x77c28" identifier = (binary_expression "pcVar21 + 0x77c28" identifier + number_literal)) ;) (expression_statement "pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);" (assignment_expression "pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec)" identifier = (cast_expression "(code *******)**(undefined4 **)(pcVar21 + 0x70aec)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcVar21 + 0x70aec)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x70aec)" * (cast_expression "(undefined4 **)(pcVar21 + 0x70aec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70aec)" ( (binary_expression "pcVar21 + 0x70aec" identifier + number_literal) ))))))) ;) (expression_statement "uStack_148 = 0;" (assignment_expression "uStack_148 = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar22 = (code *******)&pppppppcStack_f0;" (assignment_expression "pppppppcVar22 = (code *******)&pppppppcStack_f0" identifier = (cast_expression "(code *******)&pppppppcStack_f0" ( (type_descriptor "code *******" 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 "&pppppppcStack_f0" & identifier))) ;) (expression_statement "pppppppcStack_144 = pppppppcVar22;" (assignment_expression "pppppppcStack_144 = pppppppcVar22" identifier = identifier) ;) (expression_statement "pppppppcStack_104 = pppppppcVar10;" (assignment_expression "pppppppcStack_104 = pppppppcVar10" identifier = identifier) ;) (expression_statement "pppppppcStack_100 = pppppppcVar12;" (assignment_expression "pppppppcStack_100 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pcStack_fc = pcVar24;" (assignment_expression "pcStack_fc = pcVar24" identifier = identifier) ;) (expression_statement "pppppppcStack_f0 = pppppppcVar8;" (assignment_expression "pppppppcStack_f0 = pppppppcVar8" identifier = identifier) ;) (expression_statement "pppppppcStack_ec = pppppppcVar3;" (assignment_expression "pppppppcStack_ec = pppppppcVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);" (call_expression "(**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70930))" ( (pointer_expression "**(code **)(pcVar21 + 0x70930)" * (pointer_expression "*(code **)(pcVar21 + 0x70930)" * (cast_expression "(code **)(pcVar21 + 0x70930)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70930)" ( (binary_expression "pcVar21 + 0x70930" identifier + number_literal) ))))) )) (argument_list "(appppppcStack_140,0x32)" ( identifier , number_literal ))) ;) (expression_statement "pppppppcVar3 = appppppcStack_140;" (assignment_expression "pppppppcVar3 = appppppcStack_140" identifier = identifier) ;) (expression_statement "iVar2 = FUN_0002f228(pppppppcVar1);" (assignment_expression "iVar2 = FUN_0002f228(pppppppcVar1)" identifier = (call_expression "FUN_0002f228(pppppppcVar1)" identifier (argument_list "(pppppppcVar1)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }" { (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_14c;" (assignment_expression "pppppppcVar9 = (code *******)&pppppppcStack_14c" identifier = (cast_expression "(code *******)&pppppppcStack_14c" ( (type_descriptor "code *******" 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 "&pppppppcStack_14c" & identifier))) ;) (expression_statement "pppppppcVar3 = pppppppcVar1;" (assignment_expression "pppppppcVar3 = pppppppcVar1" identifier = identifier) ;) (expression_statement "iVar2 = FUN_0002c44c(&uStack_148);" (assignment_expression "iVar2 = FUN_0002c44c(&uStack_148)" identifier = (call_expression "FUN_0002c44c(&uStack_148)" identifier (argument_list "(&uStack_148)" ( (pointer_expression "&uStack_148" & identifier) )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00041574;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00041574;" goto statement_identifier ;)) })) (expression_statement "pppppppcStack_14c = (code *******)0xffffffff;" (assignment_expression "pppppppcStack_14c = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }" statement_identifier : (if_statement "if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }" if (parenthesized_expression "(pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c))" ( (binary_expression "pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)" identifier == (cast_expression "(code *******)**(undefined4 **)(pcStack_158 + -0x713c)" ( (type_descriptor "code *******" 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 "**(undefined4 **)(pcStack_158 + -0x713c)" * (pointer_expression "*(undefined4 **)(pcStack_158 + -0x713c)" * (cast_expression "(undefined4 **)(pcStack_158 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_158 + -0x713c)" ( (binary_expression "pcStack_158 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcStack_14c;\n  }" { (return_statement "return pppppppcStack_14c;" return identifier ;) }))) (expression_statement "pcVar21 = *(code **)(pcStack_158 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_158 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_158 + -0x74c8)" * (cast_expression "(code **)(pcStack_158 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_158 + -0x74c8)" ( (binary_expression "pcStack_158 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = 0x415d4;" (assignment_expression "uVar23 = 0x415d4" identifier = number_literal) ;) (expression_statement "pppppppcVar12 = pppppppcStack_10c;" (assignment_expression "pppppppcVar12 = pppppppcStack_10c" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1a0 = pcVar21 + 0x77b3c;" (assignment_expression "pcStack_1a0 = pcVar21 + 0x77b3c" identifier = (binary_expression "pcVar21 + 0x77b3c" identifier + number_literal)) ;) (expression_statement "piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);" (assignment_expression "piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00)" identifier = (cast_expression "(int *)**(undefined4 **)(pcVar21 + 0x70a00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x70a00)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x70a00)" * (cast_expression "(undefined4 **)(pcVar21 + 0x70a00)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70a00)" ( (binary_expression "pcVar21 + 0x70a00" identifier + number_literal) ))))))) ;) (expression_statement "ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];" (assignment_expression "ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)]" identifier = (subscript_expression "pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)]" identifier [ (cast_expression "(int)((int)pppppppcVar3 + 0x66)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcVar3 + 0x66)" ( (binary_expression "(int)pppppppcVar3 + 0x66" (cast_expression "(int)pppppppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ])) ;) (expression_statement "*(undefined4 *)pcStack_158 = 0;" (assignment_expression "*(undefined4 *)pcStack_158 = 0" (pointer_expression "*(undefined4 *)pcStack_158" * (cast_expression "(undefined4 *)pcStack_158" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "pppppppcVar8 = appppppcStack_140;" (assignment_expression "pppppppcVar8 = appppppcStack_140" identifier = identifier) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar1;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar1" identifier = identifier) ;) (expression_statement "pppppppcStack_18c = appppppcStack_140;" (assignment_expression "pppppppcStack_18c = appppppcStack_140" identifier = identifier) ;) (expression_statement "pppppppcStack_188 = pppppppcVar1;" (assignment_expression "pppppppcStack_188 = pppppppcVar1" identifier = identifier) ;) (expression_statement "pppppppcStack_184 = pppppppcVar14;" (assignment_expression "pppppppcStack_184 = pppppppcVar14" identifier = identifier) ;) (expression_statement "pppppppcStack_180 = pppppppcVar15;" (assignment_expression "pppppppcStack_180 = pppppppcVar15" identifier = identifier) ;) (expression_statement "pppppppcStack_17c = param_3;" (assignment_expression "pppppppcStack_17c = param_3" identifier = identifier) ;) (expression_statement "pppppppcStack_178 = pppppppcVar16;" (assignment_expression "pppppppcStack_178 = pppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcStack_174 = pppppppcVar18;" (assignment_expression "pppppppcStack_174 = pppppppcVar18" identifier = identifier) ;) (expression_statement "pppppppcStack_170 = pppppppcVar19;" (assignment_expression "pppppppcStack_170 = pppppppcVar19" identifier = identifier) ;) (expression_statement "uStack_16c = uVar23;" (assignment_expression "uStack_16c = uVar23" identifier = identifier) ;) (if_statement "if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" if (parenthesized_expression "((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1))" ( (binary_expression "(pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)" (parenthesized_expression "(pppppppcVar12[0xb3] == (code ******)0x0)" ( (binary_expression "pppppppcVar12[0xb3] == (code ******)0x0" (subscript_expression "pppppppcVar12[0xb3]" identifier [ number_literal ]) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)" ( (comma_expression "pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1" (assignment_expression "pppppppcVar8 = pppppppcVar12" identifier = identifier) , (binary_expression "pppppppcVar12[0xb5] == (code ******)0x1" (subscript_expression "pppppppcVar12[0xb5]" identifier [ number_literal ]) == (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" 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    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }" { (expression_statement "pppppppcVar1 = pppppppcVar22;" (assignment_expression "pppppppcVar1 = pppppppcVar22" identifier = identifier) ;) (expression_statement "pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);" (assignment_expression "pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17)" identifier = (cast_expression "(code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17)" ( (type_descriptor "code *******" 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 **)(pcVar21 + 0x7042c))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar21 + 0x7042c))" ( (pointer_expression "**(code **)(pcVar21 + 0x7042c)" * (pointer_expression "*(code **)(pcVar21 + 0x7042c)" * (cast_expression "(code **)(pcVar21 + 0x7042c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x7042c)" ( (binary_expression "pcVar21 + 0x7042c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))))) ;) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar12 = pppppppcVar8;" (assignment_expression "pppppppcVar12 = pppppppcVar8" identifier = identifier) ;) }) (else_clause "else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" else (if_statement "if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" if (parenthesized_expression "(pppppppcVar12[0xbb] == (code ******)0x0)" ( (binary_expression "pppppppcVar12[0xbb] == (code ******)0x0" (subscript_expression "pppppppcVar12[0xbb]" identifier [ number_literal ]) == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" 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    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }" { (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" identifier = (cast_expression "(code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" ( (type_descriptor "code *******" 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)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar12[0xb9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xb9]" identifier [ number_literal ])) - (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (if_statement "if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }" if (parenthesized_expression "(pppppppcVar22 < pppppppcVar14)" ( (binary_expression "pppppppcVar22 < pppppppcVar14" identifier < identifier) )) (compound_statement "{\n      pppppppcVar14 = pppppppcVar22;\n    }" { (expression_statement "pppppppcVar14 = pppppppcVar22;" (assignment_expression "pppppppcVar14 = pppppppcVar22" identifier = identifier) ;) })) (expression_statement "pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" identifier = (cast_expression "(code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" ( (type_descriptor "code *******" 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)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar12[0xb8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xb8]" identifier [ number_literal ])) + (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppcVar1 = pppppppcVar14;" (assignment_expression "pppppppcVar1 = pppppppcVar14" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);" (call_expression "(**(code **)(pcVar21 + 0x7090c))(pppppppcVar9)" (parenthesized_expression "(**(code **)(pcVar21 + 0x7090c))" ( (pointer_expression "**(code **)(pcVar21 + 0x7090c)" * (pointer_expression "*(code **)(pcVar21 + 0x7090c)" * (cast_expression "(code **)(pcVar21 + 0x7090c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x7090c)" ( (binary_expression "pcVar21 + 0x7090c" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar9)" ( identifier ))) ;) (expression_statement "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar14 + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);" (assignment_expression "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14)" identifier = (cast_expression "(code *******)((int)pppppppcVar22 - (int)pppppppcVar14)" ( (type_descriptor "code *******" 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)pppppppcVar22 - (int)pppppppcVar14)" ( (binary_expression "(int)pppppppcVar22 - (int)pppppppcVar14" (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);" (assignment_expression "pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14)" identifier = (cast_expression "(code *)((int)pppppppcVar9 + (int)pppppppcVar14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar9 + (int)pppppppcVar14)" ( (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar14" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar14;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar14" identifier = identifier) ;) (if_statement "if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }" if (parenthesized_expression "(pppppppcVar22 != (code *******)0x0)" ( (binary_expression "pppppppcVar22 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }" { (expression_statement "pppppppcVar9 = pppppppcVar14;" (assignment_expression "pppppppcVar9 = pppppppcVar14" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" identifier = identifier) ;) (do_statement "do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);" do (compound_statement "{\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      }" { (expression_statement "pppppppcVar1 = (code *******)0x4;" (assignment_expression "pppppppcVar1 = (code *******)0x4" identifier = (cast_expression "(code *******)0x4" ( (type_descriptor "code *******" 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 "pppppppcVar18 = (code *******)&pppppppcStack_198;" (assignment_expression "pppppppcVar18 = (code *******)&pppppppcStack_198" identifier = (cast_expression "(code *******)&pppppppcStack_198" ( (type_descriptor "code *******" 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 "&pppppppcStack_198" & identifier))) ;) (expression_statement "iVar2 = FUN_0004140c(ppppppcVar17);" (assignment_expression "iVar2 = FUN_0004140c(ppppppcVar17)" identifier = (call_expression "FUN_0004140c(ppppppcVar17)" identifier (argument_list "(ppppppcVar17)" ( identifier )))) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar9;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar9" identifier = identifier) ;) (if_statement "if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }" if (parenthesized_expression "((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0))" ( (binary_expression "(iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) || (parenthesized_expression "(pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)" ( (comma_expression "pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0" (assignment_expression "pppppppcVar18 = pppppppcStack_198" identifier = identifier) , (binary_expression "pppppppcStack_198 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }" { (labeled_statement "LAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;" statement_identifier : (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);" (assignment_expression "pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8])" identifier = (cast_expression "(code *******)FUN_00053634(pppppppcVar12[0xb8])" ( (type_descriptor "code *******" 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_00053634(pppppppcVar12[0xb8])" identifier (argument_list "(pppppppcVar12[0xb8])" ( (subscript_expression "pppppppcVar12[0xb8]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppcVar12[0xb8] = (code ******)pppppppcVar15;" (assignment_expression "pppppppcVar12[0xb8] = (code ******)pppppppcVar15" (subscript_expression "pppppppcVar12[0xb8]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar15" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "pppppppcVar1 = pppppppcStack_198;" (assignment_expression "pppppppcVar1 = pppppppcStack_198" identifier = identifier) ;) (if_statement "if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;" if (parenthesized_expression "((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))" ( (binary_expression "(pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0)" (parenthesized_expression "(pppppppcStack_198 == (code *******)0x0)" ( (binary_expression "pppppppcStack_198 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "(pppppppcVar15 == (code *******)0x0)" ( (binary_expression "pppppppcVar15 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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_0004180c;" goto statement_identifier ;)) (expression_statement "iVar2 = FUN_0004140c(ppppppcVar17);" (assignment_expression "iVar2 = FUN_0004140c(ppppppcVar17)" identifier = (call_expression "FUN_0004140c(ppppppcVar17)" identifier (argument_list "(ppppppcVar17)" ( identifier )))) ;) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar15;" (assignment_expression "pppppppcVar18 = pppppppcVar15" identifier = identifier) ;) (if_statement "if (iVar2 != 0) break;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "pppppppcVar18 = (code *******)pppppppcVar12[0xb8];" (assignment_expression "pppppppcVar18 = (code *******)pppppppcVar12[0xb8]" identifier = (cast_expression "(code *******)pppppppcVar12[0xb8]" ( (type_descriptor "code *******" 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 "pppppppcVar12[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar1 = pppppppcStack_198;" (assignment_expression "pppppppcVar1 = pppppppcStack_198" identifier = identifier) ;) (expression_statement "pppppppcStack_1a8 = pppppppcVar12;" (assignment_expression "pppppppcStack_1a8 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);" (assignment_expression "pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" identifier = (cast_expression "(code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" ( (type_descriptor "code *******" 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 *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" (parenthesized_expression "(*(code *)pppppppcVar12[0xbd][8])" ( (pointer_expression "*(code *)pppppppcVar12[0xbd][8]" * (cast_expression "(code *)pppppppcVar12[0xbd][8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppppcVar12[0xbd][8]" (subscript_expression "pppppppcVar12[0xbd]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "(pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" ( (subscript_expression "pppppppcVar12[0xbc]" identifier [ number_literal ]) , identifier , identifier , (subscript_expression "pppppppcVar12[0xb5]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppcVar12[0xb9] = (code ******)pppppppcVar14;" (assignment_expression "pppppppcVar12[0xb9] = (code ******)pppppppcVar14" (subscript_expression "pppppppcVar12[0xb9]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar14" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "pppppppcVar12[0xba] = (code ******)0x0;" (assignment_expression "pppppppcVar12[0xba] = (code ******)0x0" (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]) = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }" if (parenthesized_expression "(pppppppcVar14 == (code *******)0x0)" ( (binary_expression "pppppppcVar14 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }" { (expression_statement "pppppppcVar14 = pppppppcVar9;" (assignment_expression "pppppppcVar14 = pppppppcVar9" identifier = identifier) ;) (if_statement "if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }" if (parenthesized_expression "(pppppppcVar9 != (code *******)0x0)" ( (binary_expression "pppppppcVar9 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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            pppppppcVar12[0xbb] = (code ******)0x1;\n          }" { (expression_statement "pppppppcVar12[0xbb] = (code ******)0x1;" (assignment_expression "pppppppcVar12[0xbb] = (code ******)0x1" (subscript_expression "pppppppcVar12[0xbb]" identifier [ number_literal ]) = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" 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 "pppppppcVar9 = pppppppcVar14;" (assignment_expression "pppppppcVar9 = pppppppcVar14" identifier = identifier) ;) (if_statement "if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }" if (parenthesized_expression "(pppppppcVar22 < pppppppcVar14)" ( (binary_expression "pppppppcVar22 < pppppppcVar14" identifier < identifier) )) (compound_statement "{\n          pppppppcVar9 = pppppppcVar22;\n        }" { (expression_statement "pppppppcVar9 = pppppppcVar22;" (assignment_expression "pppppppcVar9 = pppppppcVar22" identifier = identifier) ;) })) (expression_statement "pppppppcVar18 = (code *******)pppppppcVar12[0xb8];" (assignment_expression "pppppppcVar18 = (code *******)pppppppcVar12[0xb8]" identifier = (cast_expression "(code *******)pppppppcVar12[0xb8]" ( (type_descriptor "code *******" 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 "pppppppcVar12[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar1 = pppppppcVar9;" (assignment_expression "pppppppcVar1 = pppppppcVar9" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_1a0 + -0x7230))(pcVar21);" (call_expression "(**(code **)(pcStack_1a0 + -0x7230))(pcVar21)" (parenthesized_expression "(**(code **)(pcStack_1a0 + -0x7230))" ( (pointer_expression "**(code **)(pcStack_1a0 + -0x7230)" * (pointer_expression "*(code **)(pcStack_1a0 + -0x7230)" * (cast_expression "(code **)(pcStack_1a0 + -0x7230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a0 + -0x7230)" ( (binary_expression "pcStack_1a0 + -0x7230" identifier + number_literal) ))))) )) (argument_list "(pcVar21)" ( identifier ))) ;) (expression_statement "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" ( (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar12[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar12[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);" (assignment_expression "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9)" identifier = (cast_expression "(code *******)((int)pppppppcVar22 - (int)pppppppcVar9)" ( (type_descriptor "code *******" 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)pppppppcVar22 - (int)pppppppcVar9)" ( (binary_expression "(int)pppppppcVar22 - (int)pppppppcVar9" (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9)" identifier = (cast_expression "(code *******)((int)pppppppcVar3 + (int)pppppppcVar9)" ( (type_descriptor "code *******" 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)pppppppcVar3 + (int)pppppppcVar9)" ( (binary_expression "(int)pppppppcVar3 + (int)pppppppcVar9" (cast_expression "(int)pppppppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar21 = pcVar21 + (int)pppppppcVar9;" (assignment_expression "pcVar21 = pcVar21 + (int)pppppppcVar9" identifier = (binary_expression "pcVar21 + (int)pppppppcVar9" identifier + (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcStack_1c4 = pppppppcVar9;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar9" identifier = identifier) ;) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" identifier = identifier) ;) }) while (parenthesized_expression "(pppppppcVar22 != (code *******)0x0)" ( (binary_expression "pppppppcVar22 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" else (compound_statement "{\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" { (expression_statement "pppppppcVar12[0xbb] = (code ******)0x0;" (assignment_expression "pppppppcVar12[0xbb] = (code ******)0x0" (subscript_expression "pppppppcVar12[0xbb]" identifier [ number_literal ]) = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcVar14 = (code *******)0x0;" (assignment_expression "pppppppcVar14 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);" (assignment_expression "pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66)" identifier = (binary_expression "pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66)" identifier + (cast_expression "(int)((int)pppppppcVar3 + 0x66)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcVar3 + 0x66)" ( (binary_expression "(int)pppppppcVar3 + 0x66" (cast_expression "(int)pppppppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pppppppcVar1 = pppppppcVar9;" (assignment_expression "pppppppcVar1 = pppppppcVar9" identifier = identifier) ;) }))))) (if_statement "if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }" if (parenthesized_expression "(piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c))" ( (binary_expression "piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)" identifier == (cast_expression "(int *)**(undefined4 **)(pcStack_1a0 + -0x713c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a0 + -0x713c)" * (pointer_expression "*(undefined4 **)(pcStack_1a0 + -0x713c)" * (cast_expression "(undefined4 **)(pcStack_1a0 + -0x713c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a0 + -0x713c)" ( (binary_expression "pcStack_1a0 + -0x713c" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pppppppcVar14;\n  }" { (return_statement "return pppppppcVar14;" return identifier ;) })) (expression_statement "pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_1a0 + -0x74c8)" identifier = (pointer_expression "*(code **)(pcStack_1a0 + -0x74c8)" * (cast_expression "(code **)(pcStack_1a0 + -0x74c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a0 + -0x74c8)" ( (binary_expression "pcStack_1a0 + -0x74c8" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = FUN_00041844;" (assignment_expression "pcVar24 = FUN_00041844" identifier = identifier) ;) (expression_statement "piVar7 = piStack_194;" (assignment_expression "piVar7 = piStack_194" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_1cc = **(int **)(pcVar21 + 0x70790);" (assignment_expression "iStack_1cc = **(int **)(pcVar21 + 0x70790)" identifier = (pointer_expression "**(int **)(pcVar21 + 0x70790)" * (pointer_expression "*(int **)(pcVar21 + 0x70790)" * (cast_expression "(int **)(pcVar21 + 0x70790)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70790)" ( (binary_expression "pcVar21 + 0x70790" identifier + number_literal) )))))) ;) (expression_statement "pppppppcStack_1d4 = (code *******)0x0;" (assignment_expression "pppppppcStack_1d4 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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_1d0 = 0;" (assignment_expression "iStack_1d0 = 0" identifier = number_literal) ;) (expression_statement "pppppppcStack_1c8 = pppppppcVar12;" (assignment_expression "pppppppcStack_1c8 = pppppppcVar12" identifier = identifier) ;) (expression_statement "pppppppcStack_1c0 = pppppppcVar22;" (assignment_expression "pppppppcStack_1c0 = pppppppcVar22" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar24;" (assignment_expression "pcStack_1bc = pcVar24" identifier = identifier) ;) (if_statement "if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" if (parenthesized_expression "(piVar7[0xbd] == 0)" ( (binary_expression "piVar7[0xbd] == 0" (subscript_expression "piVar7[0xbd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    pppppppcVar14 = (code *******)0xffffffff;\n  }" { (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" else (compound_statement "{\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" { (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = (code *******)&pppppppcStack_1d8" identifier = (cast_expression "(code *******)&pppppppcStack_1d8" ( (type_descriptor "code *******" 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 "&pppppppcStack_1d8" & identifier))) ;) (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" identifier = (call_expression "(**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x6fda0))" ( (pointer_expression "**(code **)(pcVar21 + 0x6fda0)" * (pointer_expression "*(code **)(pcVar21 + 0x6fda0)" * (cast_expression "(code **)(pcVar21 + 0x6fda0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6fda0)" ( (binary_expression "pcVar21 + 0x6fda0" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" ( (binary_expression "pppppppcVar18 + 1" identifier + number_literal) , identifier , (pointer_expression "&iStack_1d0" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }" { (if_statement "if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" if (parenthesized_expression "(iStack_1d0 == 0)" ( (binary_expression "iStack_1d0 == 0" identifier == number_literal) )) (compound_statement "{\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }" { (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" else (if_statement "if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" if (parenthesized_expression "(iStack_1d0 < 0)" ( (binary_expression "iStack_1d0 < 0" identifier < number_literal) )) (compound_statement "{\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6f900)" ( (binary_expression "pcVar21 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(pppppppcStack_1d8)" ( identifier ))) ;) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" else (compound_statement "{\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" { (expression_statement "uVar23 = (**(code **)(pcVar21 + 0x6fce0))();" (assignment_expression "uVar23 = (**(code **)(pcVar21 + 0x6fce0))()" identifier = (call_expression "(**(code **)(pcVar21 + 0x6fce0))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x6fce0))" ( (pointer_expression "**(code **)(pcVar21 + 0x6fce0)" * (pointer_expression "*(code **)(pcVar21 + 0x6fce0)" * (cast_expression "(code **)(pcVar21 + 0x6fce0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6fce0)" ( (binary_expression "pcVar21 + 0x6fce0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pppppppcVar9 = pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = pppppppcStack_1d8" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);" (assignment_expression "iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" identifier = (call_expression "(**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" (parenthesized_expression "(**(code **)(piVar7[0xbd] + 0x20))" ( (pointer_expression "**(code **)(piVar7[0xbd] + 0x20)" * (pointer_expression "*(code **)(piVar7[0xbd] + 0x20)" * (cast_expression "(code **)(piVar7[0xbd] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7[0xbd] + 0x20)" ( (binary_expression "piVar7[0xbd] + 0x20" (subscript_expression "piVar7[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" ( (subscript_expression "piVar7[0xbc]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" if (parenthesized_expression "(iVar2 < 1)" ( (binary_expression "iVar2 < 1" identifier < number_literal) )) (compound_statement "{\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6f900)" ( (binary_expression "pcVar21 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(pppppppcStack_1d8)" ( identifier ))) ;) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" else (compound_statement "{\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" { (if_statement "if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }" if (parenthesized_expression "(*(char *)(*piVar7 + 0x958) != '\0')" ( (binary_expression "*(char *)(*piVar7 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar7 + 0x958)" * (cast_expression "(char *)(*piVar7 + 0x958)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + 0x958)" ( (binary_expression "*piVar7 + 0x958" (pointer_expression "*piVar7" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }" { (expression_statement "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;" (assignment_expression "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + iVar2)" * (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2)" ( (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "pppppppcVar9 = (code *******)0x1;" (assignment_expression "pppppppcVar9 = (code *******)0x1" identifier = (cast_expression "(code *******)0x1" ( (type_descriptor "code *******" 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_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);" (call_expression "FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1)" identifier (argument_list "(*piVar7,1,pppppppcStack_1d8,iVar2 + 1)" ( (pointer_expression "*piVar7" * identifier) , number_literal , identifier , (binary_expression "iVar2 + 1" identifier + number_literal) ))) ;) })) (expression_statement "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;" (assignment_expression "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + iVar2)" * (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2)" ( (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (if_statement "if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" if (parenthesized_expression "(iVar2 < 4)" ( (binary_expression "iVar2 < 4" identifier < number_literal) )) (compound_statement "{\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }" { (expression_statement "pppppppcVar14 = (code *******)0x0;" (assignment_expression "pppppppcVar14 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" else (compound_statement "{\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" { (if_statement "if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d)" ( (binary_expression "*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + 3)" * (cast_expression "(code *)((int)pppppppcStack_1d8 + 3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + 3)" ( (binary_expression "(int)pppppppcStack_1d8 + 3" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x2d" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }" { (expression_statement "(**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);" (call_expression "(**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70494))" ( (pointer_expression "**(code **)(pcVar21 + 0x70494)" * (pointer_expression "*(code **)(pcVar21 + 0x70494)" * (cast_expression "(code **)(pcVar21 + 0x70494)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70494)" ( (binary_expression "pcVar21 + 0x70494" identifier + number_literal) ))))) )) (argument_list "(pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4)" ( identifier , (binary_expression "*(int *)(pcVar21 + 0x6f8f8) + 0x3a18" (pointer_expression "*(int *)(pcVar21 + 0x6f8f8)" * (cast_expression "(int *)(pcVar21 + 0x6f8f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x6f8f8)" ( (binary_expression "pcVar21 + 0x6f8f8" identifier + number_literal) )))) + number_literal) , (pointer_expression "&pppppppcStack_1d4" & identifier) ))) ;) })) (expression_statement "pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);" (assignment_expression "pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1)" identifier = (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2 + -1)" ( (binary_expression "(int)pppppppcStack_1d8 + iVar2 + -1" (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }" if (parenthesized_expression "(*pcVar24 == (code)0xa)" ( (binary_expression "*pcVar24 == (code)0xa" (pointer_expression "*pcVar24" * identifier) == (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n              *pcVar24 = (code)0x0;\n            }" { (expression_statement "*pcVar24 = (code)0x0;" (assignment_expression "*pcVar24 = (code)0x0" (pointer_expression "*pcVar24" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) (expression_statement "pppppppcVar9 = pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = pppppppcStack_1d8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);" (call_expression "(**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70108))" ( (pointer_expression "**(code **)(pcVar21 + 0x70108)" * (pointer_expression "*(code **)(pcVar21 + 0x70108)" * (cast_expression "(code **)(pcVar21 + 0x70108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70108)" ( (binary_expression "pcVar21 + 0x70108" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18,pppppppcStack_1d8)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" * (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" * (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x6f900)" ( (binary_expression "pcVar21 + 0x6f900" identifier + number_literal) ))))))) )) (argument_list "(pppppppcStack_1d8)" ( identifier ))) ;) (expression_statement "pppppppcVar14 = pppppppcStack_1d4;" (assignment_expression "pppppppcVar14 = pppppppcStack_1d4" identifier = identifier) ;) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }))) }))) }))))) }) (else_clause "else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" else (compound_statement "{\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" { (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" identifier = (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" identifier = identifier) ;) }))) }))) (if_statement "if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }" if (parenthesized_expression "(iStack_1cc != **(int **)(pcVar21 + 0x70790))" ( (binary_expression "iStack_1cc != **(int **)(pcVar21 + 0x70790)" identifier != (pointer_expression "**(int **)(pcVar21 + 0x70790)" * (pointer_expression "*(int **)(pcVar21 + 0x70790)" * (cast_expression "(int **)(pcVar21 + 0x70790)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70790)" ( (binary_expression "pcVar21 + 0x70790" identifier + number_literal) )))))) )) (compound_statement "{\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }" { (expression_statement "pcVar21 = *(code **)(pcVar21 + 0x70404);" (assignment_expression "pcVar21 = *(code **)(pcVar21 + 0x70404)" identifier = (pointer_expression "*(code **)(pcVar21 + 0x70404)" * (cast_expression "(code **)(pcVar21 + 0x70404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70404)" ( (binary_expression "pcVar21 + 0x70404" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = iStack_1cc;" (assignment_expression "iVar2 = iStack_1cc" identifier = identifier) ;) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;" (assignment_expression "iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478" identifier = (binary_expression "*(int *)(pcVar21 + 0x6f6b4) + 0x478" (pointer_expression "*(int *)(pcVar21 + 0x6f6b4)" * (cast_expression "(int *)(pcVar21 + 0x6f6b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x6f6b4)" ( (binary_expression "pcVar21 + 0x6f6b4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);" do (compound_statement "{\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    }" { (expression_statement "uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);" (assignment_expression "uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar21 + 0x70424))(pppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70424))" ( (pointer_expression "**(code **)(pcVar21 + 0x70424)" * (pointer_expression "*(code **)(pcVar21 + 0x70424)" * (cast_expression "(code **)(pcVar21 + 0x70424)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x70424)" ( (binary_expression "pcVar21 + 0x70424" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18)" ( identifier )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);" (assignment_expression "iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" identifier = (call_expression "(**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" (parenthesized_expression "(**(code **)(pcVar21 + 0x704b4))" ( (pointer_expression "**(code **)(pcVar21 + 0x704b4)" * (pointer_expression "*(code **)(pcVar21 + 0x704b4)" * (cast_expression "(code **)(pcVar21 + 0x704b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar21 + 0x704b4)" ( (binary_expression "pcVar21 + 0x704b4" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" ( identifier , (pointer_expression "*(undefined4 *)(iVar13 + 4)" * (cast_expression "(undefined4 *)(iVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 4)" ( (binary_expression "iVar13 + 4" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }" { (expression_statement "iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);" (assignment_expression "iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" identifier = (pointer_expression "*(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" * (cast_expression "(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" ( (binary_expression "iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478" (binary_expression "iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4)" (binary_expression "iVar11 * 8" identifier * number_literal) + (pointer_expression "*(int *)(pcVar21 + 0x6f6b4)" * (cast_expression "(int *)(pcVar21 + 0x6f6b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar21 + 0x6f6b4)" ( (binary_expression "pcVar21 + 0x6f6b4" identifier + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }" { (expression_statement "*(int *)(iVar2 + 0x2d8) = iVar11;" (assignment_expression "*(int *)(iVar2 + 0x2d8) = iVar11" (pointer_expression "*(int *)(iVar2 + 0x2d8)" * (cast_expression "(int *)(iVar2 + 0x2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2d8)" ( (binary_expression "iVar2 + 0x2d8" identifier + number_literal) )))) = identifier) ;) (return_statement "return (code *******)0x0;" return (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" 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) ;) })) (return_statement "return (code *******)0xffffffff;" return (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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 "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 8;" (assignment_expression "iVar13 = iVar13 + 8" identifier = (binary_expression "iVar13 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar11 != 4)" ( (binary_expression "iVar11 != 4" identifier != number_literal) )) ;) (return_statement "return (code *******)0xffffffff;" return (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" 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) ;) })) (return_statement "return pppppppcVar14;" return identifier ;) })))
(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 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 * (pointer_declarator * IDENT)))))))) )))))))))) (compound_statement { (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 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 * (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 IDENT ;) (declaration TYPE (pointer_declarator * (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 * (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 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 * (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 (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 * 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 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 * (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 (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 * 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 * (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 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 * (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 * (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 (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 (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 (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 (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 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 * (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 * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (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) ;) (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 = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 IDENT (argument_list ( 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 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 = (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) )))) ;) (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) )))) ;) }) (else_clause else (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)) )) (break_statement break ;)))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression 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 * (abstract_pointer_declarator *)))))))) ) LIT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (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 *)))))))) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (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 [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression (pointer_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression (subscript_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 *)))))))) ) (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 *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (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 IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < 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 *)))))))) ) LIT)) ;) (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 = (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 (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 *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (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) ))))) ;) (do_statement do (compound_statement { (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 *)))))))) ) (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 *)))))))) ) 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 *))))))) ) 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 *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & 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 ( IDENT , 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)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (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 , (binary_expression IDENT + LIT) , LIT )))) , (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 *)))))))) ) (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 *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (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 *)))))))) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (pointer_expression & 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 *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = 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 )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (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 = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *))))))) ) 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)) )) (compound_statement { (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( 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 = (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) ;) })) }) (else_clause else (compound_statement { (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 ( IDENT , IDENT , (pointer_expression & IDENT) , LIT ))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (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 *)))))))) ) (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)) )))) ;) }) 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)) )) ;) })) (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 *)))))))) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (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 = (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 *)))))))) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = 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) ;) (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 = (pointer_expression & 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)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( 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 { (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)) )))) ;) }) (else_clause else (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)) )) (break_statement break ;)))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression 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 * (abstract_pointer_declarator *)))))))) ) LIT)) )) ;) })) (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 *)))))))) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (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 = (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 *)))))))) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = 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 *)))))))) ) (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 (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 = 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 = (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 = 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 ;)) })) (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 == (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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)) )) || (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 ]))) )))) ;) (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 *)))))))) ) (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 = 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 (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) ) IDENT) + (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) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = 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 { (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 ]) = (cast_expression ( (type_descriptor TYPE (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) ;) (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 * (abstract_pointer_declarator *)))))))) ) LIT)) )) || (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 = (call_expression IDENT (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)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 *))))))) ) 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 *))))))) ) LIT)) ;) (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 (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) ) IDENT) + (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) ) 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 = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression 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 * (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 = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (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) ))))))) )) (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 * (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 = 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 = (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 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 = (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 IDENT == LIT) )) (compound_statement { (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)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 = 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 IDENT < LIT) )) (compound_statement { (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)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (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 (pointer_expression * IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) 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)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (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) )))) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) 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 , 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) }))))) }) (else_clause else (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 = IDENT) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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) ;) })) (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (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) ;) })) (return_statement return IDENT ;) })))
(function_definition "code ******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)\n\n{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}" (type_identifier "code") (pointer_declarator "******* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (* "*") (pointer_declarator "****** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (* "*") (pointer_declarator "***** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (* "*") (pointer_declarator "**** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (* "*") (pointer_declarator "*** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (* "*") (pointer_declarator "** FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (* "*") (pointer_declarator "* FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (* "*") (function_declarator "FUN_00040ed0(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (identifier "FUN_00040ed0") (parameter_list "(undefined4 param_1,int param_2,code *******param_3,code *******param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "code *******param_3" (type_identifier "code") (pointer_declarator "*******param_3" (* "*") (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"))))))))) (, ",") (parameter_declaration "code *******param_4" (type_identifier "code") (pointer_declarator "*******param_4" (* "*") (pointer_declarator "******param_4" (* "*") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))))))))) () ")")))))))))) (compound_statement "{\n  code *******pppppppcVar1;\n  int iVar2;\n  code *******pppppppcVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  int *piVar7;\n  code *******pppppppcVar8;\n  code *******pppppppcVar9;\n  code *******pppppppcVar10;\n  code *******unaff_s1;\n  int iVar11;\n  code *******pppppppcVar12;\n  int iVar13;\n  undefined4 unaff_s2;\n  code *******pppppppcVar14;\n  int unaff_s3;\n  code *******pppppppcVar15;\n  int *unaff_s4;\n  undefined4 unaff_s5;\n  code *******pppppppcVar16;\n  code ******ppppppcVar17;\n  code *******pppppppcVar18;\n  code *******pppppppcVar19;\n  undefined *puVar20;\n  code *pcVar21;\n  code *******pppppppcVar22;\n  undefined4 uVar23;\n  code *pcVar24;\n  code *******pppppppcStack_1d8;\n  code *******pppppppcStack_1d4;\n  int iStack_1d0;\n  int iStack_1cc;\n  code *******pppppppcStack_1c8;\n  code *******pppppppcStack_1c4;\n  code *******pppppppcStack_1c0;\n  code *pcStack_1bc;\n  code *******pppppppcStack_1a8;\n  code *pcStack_1a0;\n  code *******pppppppcStack_198;\n  int *piStack_194;\n  code *******pppppppcStack_18c;\n  code *******pppppppcStack_188;\n  code *******pppppppcStack_184;\n  code *******pppppppcStack_180;\n  code *******pppppppcStack_17c;\n  code *******pppppppcStack_178;\n  code *******pppppppcStack_174;\n  code *******pppppppcStack_170;\n  undefined4 uStack_16c;\n  code *pcStack_158;\n  code *******pppppppcStack_14c;\n  undefined4 uStack_148;\n  code *******pppppppcStack_144;\n  code ******appppppcStack_140 [13];\n  code *******pppppppcStack_10c;\n  code *******pppppppcStack_104;\n  code *******pppppppcStack_100;\n  code *pcStack_fc;\n  code *******pppppppcStack_f0;\n  code *******pppppppcStack_ec;\n  code *pcStack_e8;\n  code ******ppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  undefined4 *puStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  code *******pppppppcStack_cc;\n  code *******pppppppcStack_c8;\n  code *pcStack_c4;\n  code *******local_b0;\n  undefined *local_a8;\n  code *******local_a0;\n  code *******local_9c;\n  int local_98;\n  int local_94;\n  code *******local_90;\n  code *******local_8c;\n  code *******local_84;\n  code *******local_80;\n  code *******local_7c;\n  code ******local_78;\n  code *******local_74;\n  code *******local_70;\n  code *******local_6c;\n  undefined4 local_68;\n  int local_64;\n  int *local_60;\n  undefined4 local_5c;\n  int *local_38;\n  int local_28;\n  undefined4 *local_24;\n  \n  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;\n  iVar2 = param_2;\n  pppppppcVar14 = param_4;\n  pppppppcVar9 = param_4;\n  if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }\n  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }\n  puVar6 = local_24;\n  puVar20 = PTR___stack_chk_fail_000b1c48;\n  (*(code *)PTR___stack_chk_fail_000b1c48)();\n  local_a8 = puVar20 + 0x78154;\n  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);\n  local_a0 = (code *******)puVar6[iVar2 + 0x66];\n  *local_38 = 0;\n  iVar11 = puVar6[0xb7];\n  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);\n  pppppppcVar16 = (code *******)puVar6[0xbc];\n  pppppppcVar18 = (code *******)puVar6[0xb5];\n  pppppppcVar3 = pppppppcVar14;\n  local_70 = pppppppcVar9;\n  local_6c = unaff_s1;\n  local_68 = unaff_s2;\n  local_64 = unaff_s3;\n  local_60 = unaff_s4;\n  local_5c = unaff_s5;\n  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);\n  pppppppcVar9 = pppppppcVar18;\n  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);\n  pppppppcVar12 = (code *******)(iVar11 - iVar2);\n  if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }\n  pppppppcVar19 = (code *******)0x0;\n  if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }\n  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }\n  pcVar21 = *(code **)(local_a8 + -0x74c8);\n  pcVar24 = FUN_0004140c;\n  pppppppcVar22 = local_74;\n  (*pcVar21)();\n  pcStack_e8 = pcVar21 + 0x77d04;\n  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);\n  pppppppcVar8 = pppppppcVar1;\n  pppppppcVar10 = pppppppcVar1;\n  puStack_d8 = puVar6;\n  pppppppcStack_d4 = pppppppcVar12;\n  pppppppcStack_d0 = pppppppcVar14;\n  pppppppcStack_cc = pppppppcVar15;\n  pppppppcStack_c8 = param_3;\n  pcStack_c4 = pcVar24;\n  if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }\n  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }\n  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);\n  pcVar24 = FUN_000414e8;\n  pppppppcVar1 = pppppppcStack_dc;\n  (*pcVar21)();\n  pcStack_158 = pcVar21 + 0x77c28;\n  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);\n  uStack_148 = 0;\n  pppppppcVar22 = (code *******)&pppppppcStack_f0;\n  pppppppcStack_144 = pppppppcVar22;\n  pppppppcStack_104 = pppppppcVar10;\n  pppppppcStack_100 = pppppppcVar12;\n  pcStack_fc = pcVar24;\n  pppppppcStack_f0 = pppppppcVar8;\n  pppppppcStack_ec = pppppppcVar3;\n  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);\n  pppppppcVar3 = appppppcStack_140;\n  iVar2 = FUN_0002f228(pppppppcVar1);\n  if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }\n  pppppppcStack_14c = (code *******)0xffffffff;\nLAB_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }\n  pcVar21 = *(code **)(pcStack_158 + -0x74c8);\n  uVar23 = 0x415d4;\n  pppppppcVar12 = pppppppcStack_10c;\n  (*pcVar21)();\n  pcStack_1a0 = pcVar21 + 0x77b3c;\n  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);\n  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];\n  *(undefined4 *)pcStack_158 = 0;\n  pppppppcVar8 = appppppcStack_140;\n  pppppppcStack_1c4 = pppppppcVar1;\n  pppppppcStack_18c = appppppcStack_140;\n  pppppppcStack_188 = pppppppcVar1;\n  pppppppcStack_184 = pppppppcVar14;\n  pppppppcStack_180 = pppppppcVar15;\n  pppppppcStack_17c = param_3;\n  pppppppcStack_178 = pppppppcVar16;\n  pppppppcStack_174 = pppppppcVar18;\n  pppppppcStack_170 = pppppppcVar19;\n  uStack_16c = uVar23;\n  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }\n  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }\n  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);\n  pcVar24 = FUN_00041844;\n  piVar7 = piStack_194;\n  (*pcVar21)();\n  iStack_1cc = **(int **)(pcVar21 + 0x70790);\n  pppppppcStack_1d4 = (code *******)0x0;\n  iStack_1d0 = 0;\n  pppppppcStack_1c8 = pppppppcVar12;\n  pppppppcStack_1c0 = pppppppcVar22;\n  pcStack_1bc = pcVar24;\n  if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }\n  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }\n  return pppppppcVar14;\n}" ({ "{") (declaration "code *******pppppppcVar1;" (type_identifier "code") (pointer_declarator "*******pppppppcVar1" (* "*") (pointer_declarator "******pppppppcVar1" (* "*") (pointer_declarator "*****pppppppcVar1" (* "*") (pointer_declarator "****pppppppcVar1" (* "*") (pointer_declarator "***pppppppcVar1" (* "*") (pointer_declarator "**pppppppcVar1" (* "*") (pointer_declarator "*pppppppcVar1" (* "*") (identifier "pppppppcVar1")))))))) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "code *******pppppppcVar3;" (type_identifier "code") (pointer_declarator "*******pppppppcVar3" (* "*") (pointer_declarator "******pppppppcVar3" (* "*") (pointer_declarator "*****pppppppcVar3" (* "*") (pointer_declarator "****pppppppcVar3" (* "*") (pointer_declarator "***pppppppcVar3" (* "*") (pointer_declarator "**pppppppcVar3" (* "*") (pointer_declarator "*pppppppcVar3" (* "*") (identifier "pppppppcVar3")))))))) (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "code *******pppppppcVar8;" (type_identifier "code") (pointer_declarator "*******pppppppcVar8" (* "*") (pointer_declarator "******pppppppcVar8" (* "*") (pointer_declarator "*****pppppppcVar8" (* "*") (pointer_declarator "****pppppppcVar8" (* "*") (pointer_declarator "***pppppppcVar8" (* "*") (pointer_declarator "**pppppppcVar8" (* "*") (pointer_declarator "*pppppppcVar8" (* "*") (identifier "pppppppcVar8")))))))) (; ";")) (declaration "code *******pppppppcVar9;" (type_identifier "code") (pointer_declarator "*******pppppppcVar9" (* "*") (pointer_declarator "******pppppppcVar9" (* "*") (pointer_declarator "*****pppppppcVar9" (* "*") (pointer_declarator "****pppppppcVar9" (* "*") (pointer_declarator "***pppppppcVar9" (* "*") (pointer_declarator "**pppppppcVar9" (* "*") (pointer_declarator "*pppppppcVar9" (* "*") (identifier "pppppppcVar9")))))))) (; ";")) (declaration "code *******pppppppcVar10;" (type_identifier "code") (pointer_declarator "*******pppppppcVar10" (* "*") (pointer_declarator "******pppppppcVar10" (* "*") (pointer_declarator "*****pppppppcVar10" (* "*") (pointer_declarator "****pppppppcVar10" (* "*") (pointer_declarator "***pppppppcVar10" (* "*") (pointer_declarator "**pppppppcVar10" (* "*") (pointer_declarator "*pppppppcVar10" (* "*") (identifier "pppppppcVar10")))))))) (; ";")) (declaration "code *******unaff_s1;" (type_identifier "code") (pointer_declarator "*******unaff_s1" (* "*") (pointer_declarator "******unaff_s1" (* "*") (pointer_declarator "*****unaff_s1" (* "*") (pointer_declarator "****unaff_s1" (* "*") (pointer_declarator "***unaff_s1" (* "*") (pointer_declarator "**unaff_s1" (* "*") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")))))))) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "code *******pppppppcVar12;" (type_identifier "code") (pointer_declarator "*******pppppppcVar12" (* "*") (pointer_declarator "******pppppppcVar12" (* "*") (pointer_declarator "*****pppppppcVar12" (* "*") (pointer_declarator "****pppppppcVar12" (* "*") (pointer_declarator "***pppppppcVar12" (* "*") (pointer_declarator "**pppppppcVar12" (* "*") (pointer_declarator "*pppppppcVar12" (* "*") (identifier "pppppppcVar12")))))))) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 unaff_s2;" (type_identifier "undefined4") (identifier "unaff_s2") (; ";")) (declaration "code *******pppppppcVar14;" (type_identifier "code") (pointer_declarator "*******pppppppcVar14" (* "*") (pointer_declarator "******pppppppcVar14" (* "*") (pointer_declarator "*****pppppppcVar14" (* "*") (pointer_declarator "****pppppppcVar14" (* "*") (pointer_declarator "***pppppppcVar14" (* "*") (pointer_declarator "**pppppppcVar14" (* "*") (pointer_declarator "*pppppppcVar14" (* "*") (identifier "pppppppcVar14")))))))) (; ";")) (declaration "int unaff_s3;" (primitive_type "int") (identifier "unaff_s3") (; ";")) (declaration "code *******pppppppcVar15;" (type_identifier "code") (pointer_declarator "*******pppppppcVar15" (* "*") (pointer_declarator "******pppppppcVar15" (* "*") (pointer_declarator "*****pppppppcVar15" (* "*") (pointer_declarator "****pppppppcVar15" (* "*") (pointer_declarator "***pppppppcVar15" (* "*") (pointer_declarator "**pppppppcVar15" (* "*") (pointer_declarator "*pppppppcVar15" (* "*") (identifier "pppppppcVar15")))))))) (; ";")) (declaration "int *unaff_s4;" (primitive_type "int") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "undefined4 unaff_s5;" (type_identifier "undefined4") (identifier "unaff_s5") (; ";")) (declaration "code *******pppppppcVar16;" (type_identifier "code") (pointer_declarator "*******pppppppcVar16" (* "*") (pointer_declarator "******pppppppcVar16" (* "*") (pointer_declarator "*****pppppppcVar16" (* "*") (pointer_declarator "****pppppppcVar16" (* "*") (pointer_declarator "***pppppppcVar16" (* "*") (pointer_declarator "**pppppppcVar16" (* "*") (pointer_declarator "*pppppppcVar16" (* "*") (identifier "pppppppcVar16")))))))) (; ";")) (declaration "code ******ppppppcVar17;" (type_identifier "code") (pointer_declarator "******ppppppcVar17" (* "*") (pointer_declarator "*****ppppppcVar17" (* "*") (pointer_declarator "****ppppppcVar17" (* "*") (pointer_declarator "***ppppppcVar17" (* "*") (pointer_declarator "**ppppppcVar17" (* "*") (pointer_declarator "*ppppppcVar17" (* "*") (identifier "ppppppcVar17"))))))) (; ";")) (declaration "code *******pppppppcVar18;" (type_identifier "code") (pointer_declarator "*******pppppppcVar18" (* "*") (pointer_declarator "******pppppppcVar18" (* "*") (pointer_declarator "*****pppppppcVar18" (* "*") (pointer_declarator "****pppppppcVar18" (* "*") (pointer_declarator "***pppppppcVar18" (* "*") (pointer_declarator "**pppppppcVar18" (* "*") (pointer_declarator "*pppppppcVar18" (* "*") (identifier "pppppppcVar18")))))))) (; ";")) (declaration "code *******pppppppcVar19;" (type_identifier "code") (pointer_declarator "*******pppppppcVar19" (* "*") (pointer_declarator "******pppppppcVar19" (* "*") (pointer_declarator "*****pppppppcVar19" (* "*") (pointer_declarator "****pppppppcVar19" (* "*") (pointer_declarator "***pppppppcVar19" (* "*") (pointer_declarator "**pppppppcVar19" (* "*") (pointer_declarator "*pppppppcVar19" (* "*") (identifier "pppppppcVar19")))))))) (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "code *pcVar21;" (type_identifier "code") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "code *******pppppppcVar22;" (type_identifier "code") (pointer_declarator "*******pppppppcVar22" (* "*") (pointer_declarator "******pppppppcVar22" (* "*") (pointer_declarator "*****pppppppcVar22" (* "*") (pointer_declarator "****pppppppcVar22" (* "*") (pointer_declarator "***pppppppcVar22" (* "*") (pointer_declarator "**pppppppcVar22" (* "*") (pointer_declarator "*pppppppcVar22" (* "*") (identifier "pppppppcVar22")))))))) (; ";")) (declaration "undefined4 uVar23;" (type_identifier "undefined4") (identifier "uVar23") (; ";")) (declaration "code *pcVar24;" (type_identifier "code") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "code *******pppppppcStack_1d8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_1d8" (* "*") (pointer_declarator "******pppppppcStack_1d8" (* "*") (pointer_declarator "*****pppppppcStack_1d8" (* "*") (pointer_declarator "****pppppppcStack_1d8" (* "*") (pointer_declarator "***pppppppcStack_1d8" (* "*") (pointer_declarator "**pppppppcStack_1d8" (* "*") (pointer_declarator "*pppppppcStack_1d8" (* "*") (identifier "pppppppcStack_1d8")))))))) (; ";")) (declaration "code *******pppppppcStack_1d4;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_1d4" (* "*") (pointer_declarator "******pppppppcStack_1d4" (* "*") (pointer_declarator "*****pppppppcStack_1d4" (* "*") (pointer_declarator "****pppppppcStack_1d4" (* "*") (pointer_declarator "***pppppppcStack_1d4" (* "*") (pointer_declarator "**pppppppcStack_1d4" (* "*") (pointer_declarator "*pppppppcStack_1d4" (* "*") (identifier "pppppppcStack_1d4")))))))) (; ";")) (declaration "int iStack_1d0;" (primitive_type "int") (identifier "iStack_1d0") (; ";")) (declaration "int iStack_1cc;" (primitive_type "int") (identifier "iStack_1cc") (; ";")) (declaration "code *******pppppppcStack_1c8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_1c8" (* "*") (pointer_declarator "******pppppppcStack_1c8" (* "*") (pointer_declarator "*****pppppppcStack_1c8" (* "*") (pointer_declarator "****pppppppcStack_1c8" (* "*") (pointer_declarator "***pppppppcStack_1c8" (* "*") (pointer_declarator "**pppppppcStack_1c8" (* "*") (pointer_declarator "*pppppppcStack_1c8" (* "*") (identifier "pppppppcStack_1c8")))))))) (; ";")) (declaration "code *******pppppppcStack_1c4;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_1c4" (* "*") (pointer_declarator "******pppppppcStack_1c4" (* "*") (pointer_declarator "*****pppppppcStack_1c4" (* "*") (pointer_declarator "****pppppppcStack_1c4" (* "*") (pointer_declarator "***pppppppcStack_1c4" (* "*") (pointer_declarator "**pppppppcStack_1c4" (* "*") (pointer_declarator "*pppppppcStack_1c4" (* "*") (identifier "pppppppcStack_1c4")))))))) (; ";")) (declaration "code *******pppppppcStack_1c0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_1c0" (* "*") (pointer_declarator "******pppppppcStack_1c0" (* "*") (pointer_declarator "*****pppppppcStack_1c0" (* "*") (pointer_declarator "****pppppppcStack_1c0" (* "*") (pointer_declarator "***pppppppcStack_1c0" (* "*") (pointer_declarator "**pppppppcStack_1c0" (* "*") (pointer_declarator "*pppppppcStack_1c0" (* "*") (identifier "pppppppcStack_1c0")))))))) (; ";")) (declaration "code *pcStack_1bc;" (type_identifier "code") (pointer_declarator "*pcStack_1bc" (* "*") (identifier "pcStack_1bc")) (; ";")) (declaration "code *******pppppppcStack_1a8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_1a8" (* "*") (pointer_declarator "******pppppppcStack_1a8" (* "*") (pointer_declarator "*****pppppppcStack_1a8" (* "*") (pointer_declarator "****pppppppcStack_1a8" (* "*") (pointer_declarator "***pppppppcStack_1a8" (* "*") (pointer_declarator "**pppppppcStack_1a8" (* "*") (pointer_declarator "*pppppppcStack_1a8" (* "*") (identifier "pppppppcStack_1a8")))))))) (; ";")) (declaration "code *pcStack_1a0;" (type_identifier "code") (pointer_declarator "*pcStack_1a0" (* "*") (identifier "pcStack_1a0")) (; ";")) (declaration "code *******pppppppcStack_198;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_198" (* "*") (pointer_declarator "******pppppppcStack_198" (* "*") (pointer_declarator "*****pppppppcStack_198" (* "*") (pointer_declarator "****pppppppcStack_198" (* "*") (pointer_declarator "***pppppppcStack_198" (* "*") (pointer_declarator "**pppppppcStack_198" (* "*") (pointer_declarator "*pppppppcStack_198" (* "*") (identifier "pppppppcStack_198")))))))) (; ";")) (declaration "int *piStack_194;" (primitive_type "int") (pointer_declarator "*piStack_194" (* "*") (identifier "piStack_194")) (; ";")) (declaration "code *******pppppppcStack_18c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_18c" (* "*") (pointer_declarator "******pppppppcStack_18c" (* "*") (pointer_declarator "*****pppppppcStack_18c" (* "*") (pointer_declarator "****pppppppcStack_18c" (* "*") (pointer_declarator "***pppppppcStack_18c" (* "*") (pointer_declarator "**pppppppcStack_18c" (* "*") (pointer_declarator "*pppppppcStack_18c" (* "*") (identifier "pppppppcStack_18c")))))))) (; ";")) (declaration "code *******pppppppcStack_188;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_188" (* "*") (pointer_declarator "******pppppppcStack_188" (* "*") (pointer_declarator "*****pppppppcStack_188" (* "*") (pointer_declarator "****pppppppcStack_188" (* "*") (pointer_declarator "***pppppppcStack_188" (* "*") (pointer_declarator "**pppppppcStack_188" (* "*") (pointer_declarator "*pppppppcStack_188" (* "*") (identifier "pppppppcStack_188")))))))) (; ";")) (declaration "code *******pppppppcStack_184;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_184" (* "*") (pointer_declarator "******pppppppcStack_184" (* "*") (pointer_declarator "*****pppppppcStack_184" (* "*") (pointer_declarator "****pppppppcStack_184" (* "*") (pointer_declarator "***pppppppcStack_184" (* "*") (pointer_declarator "**pppppppcStack_184" (* "*") (pointer_declarator "*pppppppcStack_184" (* "*") (identifier "pppppppcStack_184")))))))) (; ";")) (declaration "code *******pppppppcStack_180;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_180" (* "*") (pointer_declarator "******pppppppcStack_180" (* "*") (pointer_declarator "*****pppppppcStack_180" (* "*") (pointer_declarator "****pppppppcStack_180" (* "*") (pointer_declarator "***pppppppcStack_180" (* "*") (pointer_declarator "**pppppppcStack_180" (* "*") (pointer_declarator "*pppppppcStack_180" (* "*") (identifier "pppppppcStack_180")))))))) (; ";")) (declaration "code *******pppppppcStack_17c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_17c" (* "*") (pointer_declarator "******pppppppcStack_17c" (* "*") (pointer_declarator "*****pppppppcStack_17c" (* "*") (pointer_declarator "****pppppppcStack_17c" (* "*") (pointer_declarator "***pppppppcStack_17c" (* "*") (pointer_declarator "**pppppppcStack_17c" (* "*") (pointer_declarator "*pppppppcStack_17c" (* "*") (identifier "pppppppcStack_17c")))))))) (; ";")) (declaration "code *******pppppppcStack_178;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_178" (* "*") (pointer_declarator "******pppppppcStack_178" (* "*") (pointer_declarator "*****pppppppcStack_178" (* "*") (pointer_declarator "****pppppppcStack_178" (* "*") (pointer_declarator "***pppppppcStack_178" (* "*") (pointer_declarator "**pppppppcStack_178" (* "*") (pointer_declarator "*pppppppcStack_178" (* "*") (identifier "pppppppcStack_178")))))))) (; ";")) (declaration "code *******pppppppcStack_174;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_174" (* "*") (pointer_declarator "******pppppppcStack_174" (* "*") (pointer_declarator "*****pppppppcStack_174" (* "*") (pointer_declarator "****pppppppcStack_174" (* "*") (pointer_declarator "***pppppppcStack_174" (* "*") (pointer_declarator "**pppppppcStack_174" (* "*") (pointer_declarator "*pppppppcStack_174" (* "*") (identifier "pppppppcStack_174")))))))) (; ";")) (declaration "code *******pppppppcStack_170;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_170" (* "*") (pointer_declarator "******pppppppcStack_170" (* "*") (pointer_declarator "*****pppppppcStack_170" (* "*") (pointer_declarator "****pppppppcStack_170" (* "*") (pointer_declarator "***pppppppcStack_170" (* "*") (pointer_declarator "**pppppppcStack_170" (* "*") (pointer_declarator "*pppppppcStack_170" (* "*") (identifier "pppppppcStack_170")))))))) (; ";")) (declaration "undefined4 uStack_16c;" (type_identifier "undefined4") (identifier "uStack_16c") (; ";")) (declaration "code *pcStack_158;" (type_identifier "code") (pointer_declarator "*pcStack_158" (* "*") (identifier "pcStack_158")) (; ";")) (declaration "code *******pppppppcStack_14c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_14c" (* "*") (pointer_declarator "******pppppppcStack_14c" (* "*") (pointer_declarator "*****pppppppcStack_14c" (* "*") (pointer_declarator "****pppppppcStack_14c" (* "*") (pointer_declarator "***pppppppcStack_14c" (* "*") (pointer_declarator "**pppppppcStack_14c" (* "*") (pointer_declarator "*pppppppcStack_14c" (* "*") (identifier "pppppppcStack_14c")))))))) (; ";")) (declaration "undefined4 uStack_148;" (type_identifier "undefined4") (identifier "uStack_148") (; ";")) (declaration "code *******pppppppcStack_144;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_144" (* "*") (pointer_declarator "******pppppppcStack_144" (* "*") (pointer_declarator "*****pppppppcStack_144" (* "*") (pointer_declarator "****pppppppcStack_144" (* "*") (pointer_declarator "***pppppppcStack_144" (* "*") (pointer_declarator "**pppppppcStack_144" (* "*") (pointer_declarator "*pppppppcStack_144" (* "*") (identifier "pppppppcStack_144")))))))) (; ";")) (declaration "code ******appppppcStack_140 [13];" (type_identifier "code") (pointer_declarator "******appppppcStack_140 [13]" (* "*") (pointer_declarator "*****appppppcStack_140 [13]" (* "*") (pointer_declarator "****appppppcStack_140 [13]" (* "*") (pointer_declarator "***appppppcStack_140 [13]" (* "*") (pointer_declarator "**appppppcStack_140 [13]" (* "*") (pointer_declarator "*appppppcStack_140 [13]" (* "*") (array_declarator "appppppcStack_140 [13]" (identifier "appppppcStack_140") ([ "[") (number_literal "13") (] "]")))))))) (; ";")) (declaration "code *******pppppppcStack_10c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_10c" (* "*") (pointer_declarator "******pppppppcStack_10c" (* "*") (pointer_declarator "*****pppppppcStack_10c" (* "*") (pointer_declarator "****pppppppcStack_10c" (* "*") (pointer_declarator "***pppppppcStack_10c" (* "*") (pointer_declarator "**pppppppcStack_10c" (* "*") (pointer_declarator "*pppppppcStack_10c" (* "*") (identifier "pppppppcStack_10c")))))))) (; ";")) (declaration "code *******pppppppcStack_104;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_104" (* "*") (pointer_declarator "******pppppppcStack_104" (* "*") (pointer_declarator "*****pppppppcStack_104" (* "*") (pointer_declarator "****pppppppcStack_104" (* "*") (pointer_declarator "***pppppppcStack_104" (* "*") (pointer_declarator "**pppppppcStack_104" (* "*") (pointer_declarator "*pppppppcStack_104" (* "*") (identifier "pppppppcStack_104")))))))) (; ";")) (declaration "code *******pppppppcStack_100;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_100" (* "*") (pointer_declarator "******pppppppcStack_100" (* "*") (pointer_declarator "*****pppppppcStack_100" (* "*") (pointer_declarator "****pppppppcStack_100" (* "*") (pointer_declarator "***pppppppcStack_100" (* "*") (pointer_declarator "**pppppppcStack_100" (* "*") (pointer_declarator "*pppppppcStack_100" (* "*") (identifier "pppppppcStack_100")))))))) (; ";")) (declaration "code *pcStack_fc;" (type_identifier "code") (pointer_declarator "*pcStack_fc" (* "*") (identifier "pcStack_fc")) (; ";")) (declaration "code *******pppppppcStack_f0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_f0" (* "*") (pointer_declarator "******pppppppcStack_f0" (* "*") (pointer_declarator "*****pppppppcStack_f0" (* "*") (pointer_declarator "****pppppppcStack_f0" (* "*") (pointer_declarator "***pppppppcStack_f0" (* "*") (pointer_declarator "**pppppppcStack_f0" (* "*") (pointer_declarator "*pppppppcStack_f0" (* "*") (identifier "pppppppcStack_f0")))))))) (; ";")) (declaration "code *******pppppppcStack_ec;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_ec" (* "*") (pointer_declarator "******pppppppcStack_ec" (* "*") (pointer_declarator "*****pppppppcStack_ec" (* "*") (pointer_declarator "****pppppppcStack_ec" (* "*") (pointer_declarator "***pppppppcStack_ec" (* "*") (pointer_declarator "**pppppppcStack_ec" (* "*") (pointer_declarator "*pppppppcStack_ec" (* "*") (identifier "pppppppcStack_ec")))))))) (; ";")) (declaration "code *pcStack_e8;" (type_identifier "code") (pointer_declarator "*pcStack_e8" (* "*") (identifier "pcStack_e8")) (; ";")) (declaration "code ******ppppppcStack_e0;" (type_identifier "code") (pointer_declarator "******ppppppcStack_e0" (* "*") (pointer_declarator "*****ppppppcStack_e0" (* "*") (pointer_declarator "****ppppppcStack_e0" (* "*") (pointer_declarator "***ppppppcStack_e0" (* "*") (pointer_declarator "**ppppppcStack_e0" (* "*") (pointer_declarator "*ppppppcStack_e0" (* "*") (identifier "ppppppcStack_e0"))))))) (; ";")) (declaration "code *******pppppppcStack_dc;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_dc" (* "*") (pointer_declarator "******pppppppcStack_dc" (* "*") (pointer_declarator "*****pppppppcStack_dc" (* "*") (pointer_declarator "****pppppppcStack_dc" (* "*") (pointer_declarator "***pppppppcStack_dc" (* "*") (pointer_declarator "**pppppppcStack_dc" (* "*") (pointer_declarator "*pppppppcStack_dc" (* "*") (identifier "pppppppcStack_dc")))))))) (; ";")) (declaration "undefined4 *puStack_d8;" (type_identifier "undefined4") (pointer_declarator "*puStack_d8" (* "*") (identifier "puStack_d8")) (; ";")) (declaration "code *******pppppppcStack_d4;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_d4" (* "*") (pointer_declarator "******pppppppcStack_d4" (* "*") (pointer_declarator "*****pppppppcStack_d4" (* "*") (pointer_declarator "****pppppppcStack_d4" (* "*") (pointer_declarator "***pppppppcStack_d4" (* "*") (pointer_declarator "**pppppppcStack_d4" (* "*") (pointer_declarator "*pppppppcStack_d4" (* "*") (identifier "pppppppcStack_d4")))))))) (; ";")) (declaration "code *******pppppppcStack_d0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_d0" (* "*") (pointer_declarator "******pppppppcStack_d0" (* "*") (pointer_declarator "*****pppppppcStack_d0" (* "*") (pointer_declarator "****pppppppcStack_d0" (* "*") (pointer_declarator "***pppppppcStack_d0" (* "*") (pointer_declarator "**pppppppcStack_d0" (* "*") (pointer_declarator "*pppppppcStack_d0" (* "*") (identifier "pppppppcStack_d0")))))))) (; ";")) (declaration "code *******pppppppcStack_cc;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_cc" (* "*") (pointer_declarator "******pppppppcStack_cc" (* "*") (pointer_declarator "*****pppppppcStack_cc" (* "*") (pointer_declarator "****pppppppcStack_cc" (* "*") (pointer_declarator "***pppppppcStack_cc" (* "*") (pointer_declarator "**pppppppcStack_cc" (* "*") (pointer_declarator "*pppppppcStack_cc" (* "*") (identifier "pppppppcStack_cc")))))))) (; ";")) (declaration "code *******pppppppcStack_c8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_c8" (* "*") (pointer_declarator "******pppppppcStack_c8" (* "*") (pointer_declarator "*****pppppppcStack_c8" (* "*") (pointer_declarator "****pppppppcStack_c8" (* "*") (pointer_declarator "***pppppppcStack_c8" (* "*") (pointer_declarator "**pppppppcStack_c8" (* "*") (pointer_declarator "*pppppppcStack_c8" (* "*") (identifier "pppppppcStack_c8")))))))) (; ";")) (declaration "code *pcStack_c4;" (type_identifier "code") (pointer_declarator "*pcStack_c4" (* "*") (identifier "pcStack_c4")) (; ";")) (declaration "code *******local_b0;" (type_identifier "code") (pointer_declarator "*******local_b0" (* "*") (pointer_declarator "******local_b0" (* "*") (pointer_declarator "*****local_b0" (* "*") (pointer_declarator "****local_b0" (* "*") (pointer_declarator "***local_b0" (* "*") (pointer_declarator "**local_b0" (* "*") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")))))))) (; ";")) (declaration "undefined *local_a8;" (type_identifier "undefined") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "code *******local_a0;" (type_identifier "code") (pointer_declarator "*******local_a0" (* "*") (pointer_declarator "******local_a0" (* "*") (pointer_declarator "*****local_a0" (* "*") (pointer_declarator "****local_a0" (* "*") (pointer_declarator "***local_a0" (* "*") (pointer_declarator "**local_a0" (* "*") (pointer_declarator "*local_a0" (* "*") (identifier "local_a0")))))))) (; ";")) (declaration "code *******local_9c;" (type_identifier "code") (pointer_declarator "*******local_9c" (* "*") (pointer_declarator "******local_9c" (* "*") (pointer_declarator "*****local_9c" (* "*") (pointer_declarator "****local_9c" (* "*") (pointer_declarator "***local_9c" (* "*") (pointer_declarator "**local_9c" (* "*") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c")))))))) (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "code *******local_90;" (type_identifier "code") (pointer_declarator "*******local_90" (* "*") (pointer_declarator "******local_90" (* "*") (pointer_declarator "*****local_90" (* "*") (pointer_declarator "****local_90" (* "*") (pointer_declarator "***local_90" (* "*") (pointer_declarator "**local_90" (* "*") (pointer_declarator "*local_90" (* "*") (identifier "local_90")))))))) (; ";")) (declaration "code *******local_8c;" (type_identifier "code") (pointer_declarator "*******local_8c" (* "*") (pointer_declarator "******local_8c" (* "*") (pointer_declarator "*****local_8c" (* "*") (pointer_declarator "****local_8c" (* "*") (pointer_declarator "***local_8c" (* "*") (pointer_declarator "**local_8c" (* "*") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")))))))) (; ";")) (declaration "code *******local_84;" (type_identifier "code") (pointer_declarator "*******local_84" (* "*") (pointer_declarator "******local_84" (* "*") (pointer_declarator "*****local_84" (* "*") (pointer_declarator "****local_84" (* "*") (pointer_declarator "***local_84" (* "*") (pointer_declarator "**local_84" (* "*") (pointer_declarator "*local_84" (* "*") (identifier "local_84")))))))) (; ";")) (declaration "code *******local_80;" (type_identifier "code") (pointer_declarator "*******local_80" (* "*") (pointer_declarator "******local_80" (* "*") (pointer_declarator "*****local_80" (* "*") (pointer_declarator "****local_80" (* "*") (pointer_declarator "***local_80" (* "*") (pointer_declarator "**local_80" (* "*") (pointer_declarator "*local_80" (* "*") (identifier "local_80")))))))) (; ";")) (declaration "code *******local_7c;" (type_identifier "code") (pointer_declarator "*******local_7c" (* "*") (pointer_declarator "******local_7c" (* "*") (pointer_declarator "*****local_7c" (* "*") (pointer_declarator "****local_7c" (* "*") (pointer_declarator "***local_7c" (* "*") (pointer_declarator "**local_7c" (* "*") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")))))))) (; ";")) (declaration "code ******local_78;" (type_identifier "code") (pointer_declarator "******local_78" (* "*") (pointer_declarator "*****local_78" (* "*") (pointer_declarator "****local_78" (* "*") (pointer_declarator "***local_78" (* "*") (pointer_declarator "**local_78" (* "*") (pointer_declarator "*local_78" (* "*") (identifier "local_78"))))))) (; ";")) (declaration "code *******local_74;" (type_identifier "code") (pointer_declarator "*******local_74" (* "*") (pointer_declarator "******local_74" (* "*") (pointer_declarator "*****local_74" (* "*") (pointer_declarator "****local_74" (* "*") (pointer_declarator "***local_74" (* "*") (pointer_declarator "**local_74" (* "*") (pointer_declarator "*local_74" (* "*") (identifier "local_74")))))))) (; ";")) (declaration "code *******local_70;" (type_identifier "code") (pointer_declarator "*******local_70" (* "*") (pointer_declarator "******local_70" (* "*") (pointer_declarator "*****local_70" (* "*") (pointer_declarator "****local_70" (* "*") (pointer_declarator "***local_70" (* "*") (pointer_declarator "**local_70" (* "*") (pointer_declarator "*local_70" (* "*") (identifier "local_70")))))))) (; ";")) (declaration "code *******local_6c;" (type_identifier "code") (pointer_declarator "*******local_6c" (* "*") (pointer_declarator "******local_6c" (* "*") (pointer_declarator "*****local_6c" (* "*") (pointer_declarator "****local_6c" (* "*") (pointer_declarator "***local_6c" (* "*") (pointer_declarator "**local_6c" (* "*") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")))))))) (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "int local_64;" (primitive_type "int") (identifier "local_64") (; ";")) (declaration "int *local_60;" (primitive_type "int") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "int *local_38;" (primitive_type "int") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "undefined4 *local_24;" (type_identifier "undefined4") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (expression_statement "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;" (assignment_expression "local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4" (identifier "local_24") (= "=") (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" (* "*") (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_000b1fd4")))) (; ";")) (expression_statement "iVar2 = param_2;" (assignment_expression "iVar2 = param_2" (identifier "iVar2") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppppcVar14 = param_4;" (assignment_expression "pppppppcVar14 = param_4" (identifier "pppppppcVar14") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" (identifier "pppppppcVar9") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (param_4 != (code *******)0x0) {\n    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }" (if "if") (parenthesized_expression "(param_4 != (code *******)0x0)" (( "(") (binary_expression "param_4 != (code *******)0x0" (identifier "param_4") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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    unaff_s4 = &local_28;\n    unaff_s5 = 0x51;\n    unaff_s1 = param_3;\n    do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);\n  }" ({ "{") (expression_statement "unaff_s4 = &local_28;" (assignment_expression "unaff_s4 = &local_28" (identifier "unaff_s4") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (; ";")) (expression_statement "unaff_s5 = 0x51;" (assignment_expression "unaff_s5 = 0x51" (identifier "unaff_s5") (= "=") (number_literal "0x51")) (; ";")) (expression_statement "unaff_s1 = param_3;" (assignment_expression "unaff_s1 = param_3" (identifier "unaff_s1") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    } while (param_4 != (code *******)0x0);" (do "do") (compound_statement "{\n      iVar2 = param_2;\n      param_3 = unaff_s1;\n      pppppppcVar14 = pppppppcVar9;\n      param_4 = (code *******)FUN_000277f4(param_1);\n      unaff_s2 = param_1;\n      unaff_s3 = param_2;\n      local_38 = unaff_s4;\n      if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;\n      param_4 = pppppppcVar9;\n      pppppppcVar9 = param_4;\n    }" ({ "{") (expression_statement "iVar2 = param_2;" (assignment_expression "iVar2 = param_2" (identifier "iVar2") (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" (identifier "param_3") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "pppppppcVar14 = pppppppcVar9;" (assignment_expression "pppppppcVar14 = pppppppcVar9" (identifier "pppppppcVar14") (= "=") (identifier "pppppppcVar9")) (; ";")) (expression_statement "param_4 = (code *******)FUN_000277f4(param_1);" (assignment_expression "param_4 = (code *******)FUN_000277f4(param_1)" (identifier "param_4") (= "=") (cast_expression "(code *******)FUN_000277f4(param_1)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_000277f4(param_1)" (identifier "FUN_000277f4") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" (identifier "unaff_s2") (= "=") (identifier "param_1")) (; ";")) (expression_statement "unaff_s3 = param_2;" (assignment_expression "unaff_s3 = param_2" (identifier "unaff_s3") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_38 = unaff_s4;" (assignment_expression "local_38 = unaff_s4" (identifier "local_38") (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (param_4 == (code *******)0x0) {\n        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }\n      else if (param_4 != (code *******)0x51) break;" (if "if") (parenthesized_expression "(param_4 == (code *******)0x0)" (( "(") (binary_expression "param_4 == (code *******)0x0" (identifier "param_4") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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        unaff_s1 = (code *******)((int)unaff_s1 + local_28);\n        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);\n      }" ({ "{") (expression_statement "unaff_s1 = (code *******)((int)unaff_s1 + local_28);" (assignment_expression "unaff_s1 = (code *******)((int)unaff_s1 + local_28)" (identifier "unaff_s1") (= "=") (cast_expression "(code *******)((int)unaff_s1 + local_28)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)unaff_s1 + local_28)" (( "(") (binary_expression "(int)unaff_s1 + local_28" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (identifier "local_28")) () ")")))) (; ";")) (expression_statement "pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);" (assignment_expression "pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28)" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)((int)pppppppcVar9 - local_28)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar9 - local_28)" (( "(") (binary_expression "(int)pppppppcVar9 - local_28" (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")) (- "-") (identifier "local_28")) () ")")))) (; ";")) (} "}")) (else_clause "else if (param_4 != (code *******)0x51) break;" (else "else") (if_statement "if (param_4 != (code *******)0x51) break;" (if "if") (parenthesized_expression "(param_4 != (code *******)0x51)" (( "(") (binary_expression "param_4 != (code *******)0x51" (identifier "param_4") (!= "!=") (cast_expression "(code *******)0x51" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x51"))) () ")")) (break_statement "break;" (break "break") (; ";"))))) (expression_statement "param_4 = pppppppcVar9;" (assignment_expression "param_4 = pppppppcVar9" (identifier "param_4") (= "=") (identifier "pppppppcVar9")) (; ";")) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" (identifier "pppppppcVar9") (= "=") (identifier "param_4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_4 != (code *******)0x0)" (( "(") (binary_expression "param_4 != (code *******)0x0" (identifier "param_4") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {\n    return param_4;\n  }" (if "if") (parenthesized_expression "(local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4)" (( "(") (binary_expression "local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4" (identifier "local_24") (== "==") (pointer_expression "*(undefined4 **)PTR___stack_chk_guard_000b1fd4" (* "*") (cast_expression "(undefined4 **)PTR___stack_chk_guard_000b1fd4" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_000b1fd4")))) () ")")) (compound_statement "{\n    return param_4;\n  }" ({ "{") (return_statement "return param_4;" (return "return") (identifier "param_4") (; ";")) (} "}"))) (expression_statement "puVar6 = local_24;" (assignment_expression "puVar6 = local_24" (identifier "puVar6") (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar20 = PTR___stack_chk_fail_000b1c48;" (assignment_expression "puVar20 = PTR___stack_chk_fail_000b1c48" (identifier "puVar20") (= "=") (identifier "PTR___stack_chk_fail_000b1c48")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000b1c48)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b1c48)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b1c48)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b1c48" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b1c48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b1c48"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_a8 = puVar20 + 0x78154;" (assignment_expression "local_a8 = puVar20 + 0x78154" (identifier "local_a8") (= "=") (binary_expression "puVar20 + 0x78154" (identifier "puVar20") (+ "+") (number_literal "0x78154"))) (; ";")) (expression_statement "local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);" (assignment_expression "local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018)" (identifier "local_74") (= "=") (cast_expression "(code *******)**(undefined4 **)(puVar20 + 0x71018)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "**(undefined4 **)(puVar20 + 0x71018)" (* "*") (pointer_expression "*(undefined4 **)(puVar20 + 0x71018)" (* "*") (cast_expression "(undefined4 **)(puVar20 + 0x71018)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x71018)" (( "(") (binary_expression "puVar20 + 0x71018" (identifier "puVar20") (+ "+") (number_literal "0x71018")) () ")"))))))) (; ";")) (expression_statement "local_a0 = (code *******)puVar6[iVar2 + 0x66];" (assignment_expression "local_a0 = (code *******)puVar6[iVar2 + 0x66]" (identifier "local_a0") (= "=") (cast_expression "(code *******)puVar6[iVar2 + 0x66]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "puVar6[iVar2 + 0x66]" (identifier "puVar6") ([ "[") (binary_expression "iVar2 + 0x66" (identifier "iVar2") (+ "+") (number_literal "0x66")) (] "]")))) (; ";")) (expression_statement "*local_38 = 0;" (assignment_expression "*local_38 = 0" (pointer_expression "*local_38" (* "*") (identifier "local_38")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar11 = puVar6[0xb7];" (assignment_expression "iVar11 = puVar6[0xb7]" (identifier "iVar11") (= "=") (subscript_expression "puVar6[0xb7]" (identifier "puVar6") ([ "[") (number_literal "0xb7") (] "]"))) (; ";")) (expression_statement "pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);" (assignment_expression "pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18)" (identifier "pppppppcVar15") (= "=") (pointer_expression "*(code ********)(puVar6[0xbd] + 0x18)" (* "*") (cast_expression "(code ********)(puVar6[0xbd] + 0x18)" (( "(") (type_descriptor "code ********" (type_identifier "code") (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 "(puVar6[0xbd] + 0x18)" (( "(") (binary_expression "puVar6[0xbd] + 0x18" (subscript_expression "puVar6[0xbd]" (identifier "puVar6") ([ "[") (number_literal "0xbd") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pppppppcVar16 = (code *******)puVar6[0xbc];" (assignment_expression "pppppppcVar16 = (code *******)puVar6[0xbc]" (identifier "pppppppcVar16") (= "=") (cast_expression "(code *******)puVar6[0xbc]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "puVar6[0xbc]" (identifier "puVar6") ([ "[") (number_literal "0xbc") (] "]")))) (; ";")) (expression_statement "pppppppcVar18 = (code *******)puVar6[0xb5];" (assignment_expression "pppppppcVar18 = (code *******)puVar6[0xb5]" (identifier "pppppppcVar18") (= "=") (cast_expression "(code *******)puVar6[0xb5]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "puVar6[0xb5]" (identifier "puVar6") ([ "[") (number_literal "0xb5") (] "]")))) (; ";")) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" (identifier "pppppppcVar3") (= "=") (identifier "pppppppcVar14")) (; ";")) (expression_statement "local_70 = pppppppcVar9;" (assignment_expression "local_70 = pppppppcVar9" (identifier "local_70") (= "=") (identifier "pppppppcVar9")) (; ";")) (expression_statement "local_6c = unaff_s1;" (assignment_expression "local_6c = unaff_s1" (identifier "local_6c") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "local_68 = unaff_s2;" (assignment_expression "local_68 = unaff_s2" (identifier "local_68") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "local_64 = unaff_s3;" (assignment_expression "local_64 = unaff_s3" (identifier "local_64") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "local_60 = unaff_s4;" (assignment_expression "local_60 = unaff_s4" (identifier "local_60") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "local_5c = unaff_s5;" (assignment_expression "local_5c = unaff_s5" (identifier "local_5c") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11)" (identifier "pppppppcVar1") (= "=") (cast_expression "(code *******)(**(code **)(puVar20 + 0x70618))(iVar11)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(**(code **)(puVar20 + 0x70618))(iVar11)" (parenthesized_expression "(**(code **)(puVar20 + 0x70618))" (( "(") (pointer_expression "**(code **)(puVar20 + 0x70618)" (* "*") (pointer_expression "*(code **)(puVar20 + 0x70618)" (* "*") (cast_expression "(code **)(puVar20 + 0x70618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x70618)" (( "(") (binary_expression "puVar20 + 0x70618" (identifier "puVar20") (+ "+") (number_literal "0x70618")) () ")"))))) () ")")) (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")"))))) (; ";")) (expression_statement "pppppppcVar9 = pppppppcVar18;" (assignment_expression "pppppppcVar9 = pppppppcVar18" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar18")) (; ";")) (expression_statement "iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);" (assignment_expression "iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16)" (identifier "iVar2") (= "=") (call_expression "(*(code *)pppppppcVar15)(pppppppcVar16)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(pppppppcVar16)" (( "(") (identifier "pppppppcVar16") () ")")))) (; ";")) (expression_statement "pppppppcVar12 = (code *******)(iVar11 - iVar2);" (assignment_expression "pppppppcVar12 = (code *******)(iVar11 - iVar2)" (identifier "pppppppcVar12") (= "=") (cast_expression "(code *******)(iVar11 - iVar2)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar11 - iVar2)" (( "(") (binary_expression "iVar11 - iVar2" (identifier "iVar11") (- "-") (identifier "iVar2")) () ")")))) (; ";")) (if_statement "if ((int)pppppppcVar12 < 1) {\n    pppppppcVar12 = pppppppcVar14;\n  }" (if "if") (parenthesized_expression "((int)pppppppcVar12 < 1)" (( "(") (binary_expression "(int)pppppppcVar12 < 1" (cast_expression "(int)pppppppcVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar12")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    pppppppcVar12 = pppppppcVar14;\n  }" ({ "{") (expression_statement "pppppppcVar12 = pppppppcVar14;" (assignment_expression "pppppppcVar12 = pppppppcVar14" (identifier "pppppppcVar12") (= "=") (identifier "pppppppcVar14")) (; ";")) (} "}"))) (expression_statement "pppppppcVar19 = (code *******)0x0;" (assignment_expression "pppppppcVar19 = (code *******)0x0" (identifier "pppppppcVar19") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (pppppppcVar14 != (code *******)0x0) {\n    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }" (if "if") (parenthesized_expression "(pppppppcVar14 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar14 != (code *******)0x0" (identifier "pppppppcVar14") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;\n    local_94 = *(int *)(local_a8 + -0x7fd4);\n    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);\n    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);\n    local_8c = *(code ********)(local_a8 + -0x7fd4);\n    do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);\n  }" ({ "{") (expression_statement "local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;" (assignment_expression "local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84" (identifier "local_98") (= "=") (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x6c84" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" (* "*") (cast_expression "(int *)(local_a8 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + -0x7fd4)" (( "(") (binary_expression "local_a8 + -0x7fd4" (identifier "local_a8") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "0x6c84"))) (; ";")) (expression_statement "local_94 = *(int *)(local_a8 + -0x7fd4);" (assignment_expression "local_94 = *(int *)(local_a8 + -0x7fd4)" (identifier "local_94") (= "=") (pointer_expression "*(int *)(local_a8 + -0x7fd4)" (* "*") (cast_expression "(int *)(local_a8 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + -0x7fd4)" (( "(") (binary_expression "local_a8 + -0x7fd4" (identifier "local_a8") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);" (assignment_expression "pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0)" (identifier "pppppppcVar15") (= "=") (cast_expression "(code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_a8 + -0x7be0) + 0xed0)" (( "(") (binary_expression "*(int *)(local_a8 + -0x7be0) + 0xed0" (pointer_expression "*(int *)(local_a8 + -0x7be0)" (* "*") (cast_expression "(int *)(local_a8 + -0x7be0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + -0x7be0)" (( "(") (binary_expression "local_a8 + -0x7be0" (identifier "local_a8") (+ "+") (number_literal "-0x7be0")) () ")")))) (+ "+") (number_literal "0xed0")) () ")")))) (; ";")) (expression_statement "local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);" (assignment_expression "local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94)" (identifier "local_90") (= "=") (cast_expression "(code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(*(int *)(local_a8 + -0x7fd4) + 0x6c94)" (( "(") (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x6c94" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" (* "*") (cast_expression "(int *)(local_a8 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + -0x7fd4)" (( "(") (binary_expression "local_a8 + -0x7fd4" (identifier "local_a8") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "0x6c94")) () ")")))) (; ";")) (expression_statement "local_8c = *(code ********)(local_a8 + -0x7fd4);" (assignment_expression "local_8c = *(code ********)(local_a8 + -0x7fd4)" (identifier "local_8c") (= "=") (pointer_expression "*(code ********)(local_a8 + -0x7fd4)" (* "*") (cast_expression "(code ********)(local_a8 + -0x7fd4)" (( "(") (type_descriptor "code ********" (type_identifier "code") (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 "(local_a8 + -0x7fd4)" (( "(") (binary_expression "local_a8 + -0x7fd4" (identifier "local_a8") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (do_statement "do {\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    } while (pppppppcVar14 != (code *******)0x0);" (do "do") (compound_statement "{\n      if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }\n      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);\n      local_80 = (code *******)0x0;\n      local_78 = (code ******)0x0;\n      pppppppcVar22 = (code *******)puVar6[0xb5];\n      pppppppcVar18 = pppppppcVar22;\n      if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }\n      local_b0 = (code *******)&local_80;\n      pppppppcVar9 = param_3;\n      pppppppcVar3 = pppppppcVar18;\n      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);\n      pppppppcVar8 = local_a0;\n      local_9c = local_80;\n      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }\nLAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);\n      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);\n      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);\n    }" ({ "{") (if_statement "if (pppppppcVar14 < pppppppcVar12) {\n        pppppppcVar12 = pppppppcVar14;\n      }" (if "if") (parenthesized_expression "(pppppppcVar14 < pppppppcVar12)" (( "(") (binary_expression "pppppppcVar14 < pppppppcVar12" (identifier "pppppppcVar14") (< "<") (identifier "pppppppcVar12")) () ")")) (compound_statement "{\n        pppppppcVar12 = pppppppcVar14;\n      }" ({ "{") (expression_statement "pppppppcVar12 = pppppppcVar14;" (assignment_expression "pppppppcVar12 = pppppppcVar14" (identifier "pppppppcVar12") (= "=") (identifier "pppppppcVar14")) (; ";")) (} "}"))) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12)" (identifier "pppppppcVar1") (= "=") (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b3c))" (( "(") (pointer_expression "**(code **)(local_a8 + -0x7b3c)" (* "*") (pointer_expression "*(code **)(local_a8 + -0x7b3c)" (* "*") (cast_expression "(code **)(local_a8 + -0x7b3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7b3c)" (( "(") (binary_expression "local_a8 + -0x7b3c" (identifier "local_a8") (+ "+") (number_literal "-0x7b3c")) () ")"))))) () ")")) (argument_list "(pppppppcVar12)" (( "(") (identifier "pppppppcVar12") () ")"))))) (; ";")) (expression_statement "local_80 = (code *******)0x0;" (assignment_expression "local_80 = (code *******)0x0" (identifier "local_80") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "local_78 = (code ******)0x0;" (assignment_expression "local_78 = (code ******)0x0" (identifier "local_78") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcVar22 = (code *******)puVar6[0xb5];" (assignment_expression "pppppppcVar22 = (code *******)puVar6[0xb5]" (identifier "pppppppcVar22") (= "=") (cast_expression "(code *******)puVar6[0xb5]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "puVar6[0xb5]" (identifier "puVar6") ([ "[") (number_literal "0xb5") (] "]")))) (; ";")) (expression_statement "pppppppcVar18 = pppppppcVar22;" (assignment_expression "pppppppcVar18 = pppppppcVar22" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar22")) (; ";")) (if_statement "if (pppppppcVar22 == (code *******)&DAT_00000005) {\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }" (if "if") (parenthesized_expression "(pppppppcVar22 == (code *******)&DAT_00000005)" (( "(") (binary_expression "pppppppcVar22 == (code *******)&DAT_00000005" (identifier "pppppppcVar22") (== "==") (cast_expression "(code *******)&DAT_00000005" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005")))) () ")")) (compound_statement "{\n        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);\n        pppppppcVar18 = (code *******)0x4;\n        if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }\n      }" ({ "{") (expression_statement "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(local_a8 + -0x7588))(param_3,local_98,5)" (parenthesized_expression "(**(code **)(local_a8 + -0x7588))" (( "(") (pointer_expression "**(code **)(local_a8 + -0x7588)" (* "*") (pointer_expression "*(code **)(local_a8 + -0x7588)" (* "*") (cast_expression "(code **)(local_a8 + -0x7588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7588)" (( "(") (binary_expression "local_a8 + -0x7588" (identifier "local_a8") (+ "+") (number_literal "-0x7588")) () ")"))))) () ")")) (argument_list "(param_3,local_98,5)" (( "(") (identifier "param_3") (, ",") (identifier "local_98") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "pppppppcVar18 = (code *******)0x4;" (assignment_expression "pppppppcVar18 = (code *******)0x4" (identifier "pppppppcVar18") (= "=") (cast_expression "(code *******)0x4" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x4"))) (; ";")) (if_statement "if ((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }" (if "if") (parenthesized_expression "((iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0))" (( "(") (binary_expression "(iVar2 != 0) &&\n           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)" (( "(") (comma_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5)" (parenthesized_expression "(**(code **)(local_a8 + -0x7588))" (( "(") (pointer_expression "**(code **)(local_a8 + -0x7588)" (* "*") (pointer_expression "*(code **)(local_a8 + -0x7588)" (* "*") (cast_expression "(code **)(local_a8 + -0x7588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7588)" (( "(") (binary_expression "local_a8 + -0x7588" (identifier "local_a8") (+ "+") (number_literal "-0x7588")) () ")"))))) () ")")) (argument_list "(param_3,local_94 + 0x6c8c,5)" (( "(") (identifier "param_3") (, ",") (binary_expression "local_94 + 0x6c8c" (identifier "local_94") (+ "+") (number_literal "0x6c8c")) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          pppppppcVar18 = (code *******)puVar6[0xb4];\n        }" ({ "{") (expression_statement "pppppppcVar18 = (code *******)puVar6[0xb4];" (assignment_expression "pppppppcVar18 = (code *******)puVar6[0xb4]" (identifier "pppppppcVar18") (= "=") (cast_expression "(code *******)puVar6[0xb4]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "puVar6[0xb4]" (identifier "puVar6") ([ "[") (number_literal "0xb4") (] "]")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_b0 = (code *******)&local_80;" (assignment_expression "local_b0 = (code *******)&local_80" (identifier "local_b0") (= "=") (cast_expression "(code *******)&local_80" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_80" (& "&") (identifier "local_80")))) (; ";")) (expression_statement "pppppppcVar9 = param_3;" (assignment_expression "pppppppcVar9 = param_3" (identifier "pppppppcVar9") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppcVar3 = pppppppcVar18;" (assignment_expression "pppppppcVar3 = pppppppcVar18" (identifier "pppppppcVar3") (= "=") (identifier "pppppppcVar18")) (; ";")) (expression_statement "pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);" (assignment_expression "pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" (identifier "pppppppcVar16") (= "=") (cast_expression "(code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc])" (parenthesized_expression "(**(code **)(puVar6[0xbd] + 0x1c))" (( "(") (pointer_expression "**(code **)(puVar6[0xbd] + 0x1c)" (* "*") (pointer_expression "*(code **)(puVar6[0xbd] + 0x1c)" (* "*") (cast_expression "(code **)(puVar6[0xbd] + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6[0xbd] + 0x1c)" (( "(") (binary_expression "puVar6[0xbd] + 0x1c" (subscript_expression "puVar6[0xbd]" (identifier "puVar6") ([ "[") (number_literal "0xbd") (] "]")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "(puVar6[0xbc])" (( "(") (subscript_expression "puVar6[0xbc]" (identifier "puVar6") ([ "[") (number_literal "0xbc") (] "]")) () ")"))))) (; ";")) (expression_statement "pppppppcVar8 = local_a0;" (assignment_expression "pppppppcVar8 = local_a0" (identifier "pppppppcVar8") (= "=") (identifier "local_a0")) (; ";")) (expression_statement "local_9c = local_80;" (assignment_expression "local_9c = local_80" (identifier "local_9c") (= "=") (identifier "local_80")) (; ";")) (if_statement "if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }" (if "if") (parenthesized_expression "((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16))" (( "(") (binary_expression "(local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)" (parenthesized_expression "(local_80 != (code *******)0x0)" (( "(") (binary_expression "local_80 != (code *******)0x0" (identifier "local_80") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "(0 < (int)pppppppcVar16)" (( "(") (binary_expression "0 < (int)pppppppcVar16" (number_literal "0") (< "<") (cast_expression "(int)pppppppcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar16"))) () ")"))) () ")")) (compound_statement "{\n        if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }\n        (*(code *)*puVar4)(local_80);\n        pppppppcVar9 = pppppppcVar8;\n      }" ({ "{") (if_statement "if (pppppppcVar22 == (code *******)&DAT_00000005) {\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n        else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" (if "if") (parenthesized_expression "(pppppppcVar22 == (code *******)&DAT_00000005)" (( "(") (binary_expression "pppppppcVar22 == (code *******)&DAT_00000005" (identifier "pppppppcVar22") (== "==") (cast_expression "(code *******)&DAT_00000005" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005")))) () ")")) (compound_statement "{\n          uVar23 = *puVar6;\n          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          local_b0 = &local_78;\n          pppppppcVar3 = (code *******)&local_7c;\n          pppppppcVar8 = local_9c;\n          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);\n          pppppppcVar22 = local_8c;\n          pppppppcVar9 = local_a0;\n          if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n          if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" ({ "{") (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" (identifier "uVar23") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);" (assignment_expression "pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" (identifier "pppppppcVar1") (= "=") (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b38))" (( "(") (pointer_expression "**(code **)(local_a8 + -0x7b38)" (* "*") (pointer_expression "*(code **)(local_a8 + -0x7b38)" (* "*") (cast_expression "(code **)(local_a8 + -0x7b38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7b38)" (( "(") (binary_expression "local_a8 + -0x7b38" (identifier "local_a8") (+ "+") (number_literal "-0x7b38")) () ")"))))) () ")")) (argument_list "(pppppppcVar16)" (( "(") (identifier "pppppppcVar16") () ")"))))) (; ";")) (expression_statement "local_b0 = &local_78;" (assignment_expression "local_b0 = &local_78" (identifier "local_b0") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (expression_statement "pppppppcVar3 = (code *******)&local_7c;" (assignment_expression "pppppppcVar3 = (code *******)&local_7c" (identifier "pppppppcVar3") (= "=") (cast_expression "(code *******)&local_7c" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&local_7c" (& "&") (identifier "local_7c")))) (; ";")) (expression_statement "pppppppcVar8 = local_9c;" (assignment_expression "pppppppcVar8 = local_9c" (identifier "pppppppcVar8") (= "=") (identifier "local_9c")) (; ";")) (expression_statement "iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);" (assignment_expression "iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(local_a8 + -0x7e58))(uVar23)" (parenthesized_expression "(**(code **)(local_a8 + -0x7e58))" (( "(") (pointer_expression "**(code **)(local_a8 + -0x7e58)" (* "*") (pointer_expression "*(code **)(local_a8 + -0x7e58)" (* "*") (cast_expression "(code **)(local_a8 + -0x7e58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7e58)" (( "(") (binary_expression "local_a8 + -0x7e58" (identifier "local_a8") (+ "+") (number_literal "-0x7e58")) () ")"))))) () ")")) (argument_list "(uVar23)" (( "(") (identifier "uVar23") () ")")))) (; ";")) (expression_statement "pppppppcVar22 = local_8c;" (assignment_expression "pppppppcVar22 = local_8c" (identifier "pppppppcVar22") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "pppppppcVar9 = local_a0;" (assignment_expression "pppppppcVar9 = local_a0" (identifier "pppppppcVar9") (= "=") (identifier "local_a0")) (; ";")) (if_statement "if (iVar2 != 0) {\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);\n            pppppppcVar9 = pppppppcVar8;\n            goto LAB_00041228;\n          }" ({ "{") (expression_statement "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);" (call_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80)" (parenthesized_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (cast_expression "(code *)**(undefined4 **)(local_a8 + -0x7fcc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7fcc)" (( "(") (binary_expression "local_a8 + -0x7fcc" (identifier "local_a8") (+ "+") (number_literal "-0x7fcc")) () ")"))))))) () ")")) (argument_list "(local_80)" (( "(") (identifier "local_80") () ")"))) (; ";")) (expression_statement "pppppppcVar9 = pppppppcVar8;" (assignment_expression "pppppppcVar9 = pppppppcVar8" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar8")) (; ";")) (goto_statement "goto LAB_00041228;" (goto "goto") (statement_identifier "LAB_00041228") (; ";")) (} "}"))) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7fcc)" (( "(") (binary_expression "local_a8 + -0x7fcc" (identifier "local_a8") (+ "+") (number_literal "-0x7fcc")) () ")"))))) (; ";")) (if_statement "if (local_78 != (code ******)0x0) {\n            if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }" (if "if") (parenthesized_expression "(local_78 != (code ******)0x0)" (( "(") (binary_expression "local_78 != (code ******)0x0" (identifier "local_78") (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (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 (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }\n            pppppppcVar8 = local_90;\n            pppppppcVar3 = local_7c;\n            FUN_00027444(uVar23);\n            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);\n            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n            pppppppcVar18 = pppppppcVar9;\n          }" ({ "{") (if_statement "if (pppppppcVar18 == (code *******)0x4) {\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }\n            else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" (if "if") (parenthesized_expression "(pppppppcVar18 == (code *******)0x4)" (( "(") (binary_expression "pppppppcVar18 == (code *******)0x4" (identifier "pppppppcVar18") (== "==") (cast_expression "(code *******)0x4" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x4"))) () ")")) (compound_statement "{\n              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);\n              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar16 + 0x1b1f;\n            }" ({ "{") (expression_statement "pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);" (assignment_expression "pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4)" (identifier "pppppppcVar16") (= "=") (pointer_expression "*(code ********)(local_a8 + -0x7fd4)" (* "*") (cast_expression "(code ********)(local_a8 + -0x7fd4)" (( "(") (type_descriptor "code ********" (type_identifier "code") (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 "(local_a8 + -0x7fd4)" (( "(") (binary_expression "local_a8 + -0x7fd4" (identifier "local_a8") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4)" (( "(") (identifier "puVar6") (, ",") (identifier "local_a0") (, ",") (binary_expression "pppppppcVar16 + 0x1b1f" (identifier "pppppppcVar16") (+ "+") (number_literal "0x1b1f")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6,pppppppcVar9,local_7c,local_78)" (( "(") (identifier "puVar6") (, ",") (identifier "pppppppcVar9") (, ",") (identifier "local_7c") (, ",") (identifier "local_78") () ")"))) (; ";")) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (( "(") (identifier "puVar6") (, ",") (identifier "pppppppcVar9") (, ",") (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" (* "*") (cast_expression "(int *)(local_a8 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + -0x7fd4)" (( "(") (binary_expression "local_a8 + -0x7fd4" (identifier "local_a8") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "0x29c4")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" (identifier "uVar23") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcVar16 + 0x1b1f;" (assignment_expression "pppppppcVar1 = pppppppcVar16 + 0x1b1f" (identifier "pppppppcVar1") (= "=") (binary_expression "pppppppcVar16 + 0x1b1f" (identifier "pppppppcVar16") (+ "+") (number_literal "0x1b1f"))) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" (else "else") (compound_statement "{\n              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);\n              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);\n              uVar23 = *puVar6;\n              pppppppcVar1 = pppppppcVar22 + 0x1b1d;\n              pppppppcVar16 = pppppppcVar9;\n              pppppppcVar9 = pppppppcVar22;\n            }" ({ "{") (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6,local_a0,local_8c + 0x1b1d)" (( "(") (identifier "puVar6") (, ",") (identifier "local_a0") (, ",") (binary_expression "local_8c + 0x1b1d" (identifier "local_8c") (+ "+") (number_literal "0x1b1d")) () ")"))) (; ";")) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6,pppppppcVar9,local_7c,local_78)" (( "(") (identifier "puVar6") (, ",") (identifier "pppppppcVar9") (, ",") (identifier "local_7c") (, ",") (identifier "local_78") () ")"))) (; ";")) (expression_statement "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);" (call_expression "(*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2)" (( "(") (identifier "puVar6") (, ",") (identifier "pppppppcVar9") (, ",") (binary_expression "*(int *)(local_a8 + -0x7fd4) + 0x29c4" (pointer_expression "*(int *)(local_a8 + -0x7fd4)" (* "*") (cast_expression "(int *)(local_a8 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a8 + -0x7fd4)" (( "(") (binary_expression "local_a8 + -0x7fd4" (identifier "local_a8") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "0x29c4")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "uVar23 = *puVar6;" (assignment_expression "uVar23 = *puVar6" (identifier "uVar23") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcVar22 + 0x1b1d;" (assignment_expression "pppppppcVar1 = pppppppcVar22 + 0x1b1d" (identifier "pppppppcVar1") (= "=") (binary_expression "pppppppcVar22 + 0x1b1d" (identifier "pppppppcVar22") (+ "+") (number_literal "0x1b1d"))) (; ";")) (expression_statement "pppppppcVar16 = pppppppcVar9;" (assignment_expression "pppppppcVar16 = pppppppcVar9" (identifier "pppppppcVar16") (= "=") (identifier "pppppppcVar9")) (; ";")) (expression_statement "pppppppcVar9 = pppppppcVar22;" (assignment_expression "pppppppcVar9 = pppppppcVar22" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar22")) (; ";")) (} "}")))) (expression_statement "pppppppcVar8 = local_90;" (assignment_expression "pppppppcVar8 = local_90" (identifier "pppppppcVar8") (= "=") (identifier "local_90")) (; ";")) (expression_statement "pppppppcVar3 = local_7c;" (assignment_expression "pppppppcVar3 = local_7c" (identifier "pppppppcVar3") (= "=") (identifier "local_7c")) (; ";")) (expression_statement "FUN_00027444(uVar23);" (call_expression "FUN_00027444(uVar23)" (identifier "FUN_00027444") (argument_list "(uVar23)" (( "(") (identifier "uVar23") () ")"))) (; ";")) (expression_statement "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);" (call_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c)" (parenthesized_expression "(*(code *)**(undefined4 **)(local_a8 + -0x7fcc))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (cast_expression "(code *)**(undefined4 **)(local_a8 + -0x7fcc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7fcc)" (( "(") (binary_expression "local_a8 + -0x7fcc" (identifier "local_a8") (+ "+") (number_literal "-0x7fcc")) () ")"))))))) () ")")) (argument_list "(local_7c)" (( "(") (identifier "local_7c") () ")"))) (; ";")) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7fcc)" (( "(") (binary_expression "local_a8 + -0x7fcc" (identifier "local_a8") (+ "+") (number_literal "-0x7fcc")) () ")"))))) (; ";")) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" (else "else") (compound_statement "{\n          local_84 = pppppppcVar16;\n          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);\n          pppppppcVar18 = local_80;\n          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);\n          pppppppcVar1 = pppppppcVar18;\n          (*(code *)pppppppcVar15)(puVar6);\n          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);\n        }" ({ "{") (expression_statement "local_84 = pppppppcVar16;" (assignment_expression "local_84 = pppppppcVar16" (identifier "local_84") (= "=") (identifier "pppppppcVar16")) (; ";")) (expression_statement "(*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);" (call_expression "(*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6,local_a0,&local_84,4)" (( "(") (identifier "puVar6") (, ",") (identifier "local_a0") (, ",") (pointer_expression "&local_84" (& "&") (identifier "local_84")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "pppppppcVar18 = local_80;" (assignment_expression "pppppppcVar18 = local_80" (identifier "pppppppcVar18") (= "=") (identifier "local_80")) (; ";")) (expression_statement "pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);" (assignment_expression "pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" (identifier "pppppppcVar3") (= "=") (cast_expression "(code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(**(code **)(local_a8 + -0x7b38))(pppppppcVar16)" (parenthesized_expression "(**(code **)(local_a8 + -0x7b38))" (( "(") (pointer_expression "**(code **)(local_a8 + -0x7b38)" (* "*") (pointer_expression "*(code **)(local_a8 + -0x7b38)" (* "*") (cast_expression "(code **)(local_a8 + -0x7b38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7b38)" (( "(") (binary_expression "local_a8 + -0x7b38" (identifier "local_a8") (+ "+") (number_literal "-0x7b38")) () ")"))))) () ")")) (argument_list "(pppppppcVar16)" (( "(") (identifier "pppppppcVar16") () ")"))))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcVar18;" (assignment_expression "pppppppcVar1 = pppppppcVar18" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcVar18")) (; ";")) (expression_statement "(*(code *)pppppppcVar15)(puVar6);" (call_expression "(*(code *)pppppppcVar15)(puVar6)" (parenthesized_expression "(*(code *)pppppppcVar15)" (( "(") (pointer_expression "*(code *)pppppppcVar15" (* "*") (cast_expression "(code *)pppppppcVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar15"))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);" (assignment_expression "puVar4 = *(undefined4 **)(local_a8 + -0x7fcc)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined4 **)(local_a8 + -0x7fcc)" (* "*") (cast_expression "(undefined4 **)(local_a8 + -0x7fcc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x7fcc)" (( "(") (binary_expression "local_a8 + -0x7fcc" (identifier "local_a8") (+ "+") (number_literal "-0x7fcc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "(*(code *)*puVar4)(local_80);" (call_expression "(*(code *)*puVar4)(local_80)" (parenthesized_expression "(*(code *)*puVar4)" (( "(") (pointer_expression "*(code *)*puVar4" (* "*") (cast_expression "(code *)*puVar4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")))) () ")")) (argument_list "(local_80)" (( "(") (identifier "local_80") () ")"))) (; ";")) (expression_statement "pppppppcVar9 = pppppppcVar8;" (assignment_expression "pppppppcVar9 = pppppppcVar8" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar8")) (; ";")) (} "}"))) (labeled_statement "LAB_00041228:\n      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);" (statement_identifier "LAB_00041228") (: ":") (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12)" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)((int)pppppppcVar14 - (int)pppppppcVar12)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar14 - (int)pppppppcVar12)" (( "(") (binary_expression "(int)pppppppcVar14 - (int)pppppppcVar12" (cast_expression "(int)pppppppcVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar14")) (- "-") (cast_expression "(int)pppppppcVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar12"))) () ")")))) (; ";"))) (expression_statement "param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);" (assignment_expression "param_3 = (code *******)((int)param_3 + (int)pppppppcVar12)" (identifier "param_3") (= "=") (cast_expression "(code *******)((int)param_3 + (int)pppppppcVar12)" (( "(") (type_descriptor "code *******" (type_identifier "code") (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_3 + (int)pppppppcVar12)" (( "(") (binary_expression "(int)param_3 + (int)pppppppcVar12" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (cast_expression "(int)pppppppcVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar12"))) () ")")))) (; ";")) (expression_statement "pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);" (assignment_expression "pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12)" (identifier "pppppppcVar19") (= "=") (cast_expression "(code *******)((int)pppppppcVar19 + (int)pppppppcVar12)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar19 + (int)pppppppcVar12)" (( "(") (binary_expression "(int)pppppppcVar19 + (int)pppppppcVar12" (cast_expression "(int)pppppppcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar19")) (+ "+") (cast_expression "(int)pppppppcVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar12"))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppcVar14 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar14 != (code *******)0x0" (identifier "pppppppcVar14") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {\n    return pppppppcVar19;\n  }" (if "if") (parenthesized_expression "(local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c))" (( "(") (binary_expression "local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)" (identifier "local_74") (== "==") (cast_expression "(code *******)**(undefined4 **)(local_a8 + -0x713c)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "**(undefined4 **)(local_a8 + -0x713c)" (* "*") (pointer_expression "*(undefined4 **)(local_a8 + -0x713c)" (* "*") (cast_expression "(undefined4 **)(local_a8 + -0x713c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x713c)" (( "(") (binary_expression "local_a8 + -0x713c" (identifier "local_a8") (+ "+") (number_literal "-0x713c")) () ")"))))))) () ")")) (compound_statement "{\n    return pppppppcVar19;\n  }" ({ "{") (return_statement "return pppppppcVar19;" (return "return") (identifier "pppppppcVar19") (; ";")) (} "}"))) (expression_statement "pcVar21 = *(code **)(local_a8 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(local_a8 + -0x74c8)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(local_a8 + -0x74c8)" (* "*") (cast_expression "(code **)(local_a8 + -0x74c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_a8 + -0x74c8)" (( "(") (binary_expression "local_a8 + -0x74c8" (identifier "local_a8") (+ "+") (number_literal "-0x74c8")) () ")"))))) (; ";")) (expression_statement "pcVar24 = FUN_0004140c;" (assignment_expression "pcVar24 = FUN_0004140c" (identifier "pcVar24") (= "=") (identifier "FUN_0004140c")) (; ";")) (expression_statement "pppppppcVar22 = local_74;" (assignment_expression "pppppppcVar22 = local_74" (identifier "pppppppcVar22") (= "=") (identifier "local_74")) (; ";")) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_e8 = pcVar21 + 0x77d04;" (assignment_expression "pcStack_e8 = pcVar21 + 0x77d04" (identifier "pcStack_e8") (= "=") (binary_expression "pcVar21 + 0x77d04" (identifier "pcVar21") (+ "+") (number_literal "0x77d04"))) (; ";")) (expression_statement "pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);" (assignment_expression "pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8)" (identifier "pppppppcStack_dc") (= "=") (cast_expression "(code *******)**(undefined4 **)(pcVar21 + 0x70bc8)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "**(undefined4 **)(pcVar21 + 0x70bc8)" (* "*") (pointer_expression "*(undefined4 **)(pcVar21 + 0x70bc8)" (* "*") (cast_expression "(undefined4 **)(pcVar21 + 0x70bc8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70bc8)" (( "(") (binary_expression "pcVar21 + 0x70bc8" (identifier "pcVar21") (+ "+") (number_literal "0x70bc8")) () ")"))))))) (; ";")) (expression_statement "pppppppcVar8 = pppppppcVar1;" (assignment_expression "pppppppcVar8 = pppppppcVar1" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcVar1")) (; ";")) (expression_statement "pppppppcVar10 = pppppppcVar1;" (assignment_expression "pppppppcVar10 = pppppppcVar1" (identifier "pppppppcVar10") (= "=") (identifier "pppppppcVar1")) (; ";")) (expression_statement "puStack_d8 = puVar6;" (assignment_expression "puStack_d8 = puVar6" (identifier "puStack_d8") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "pppppppcStack_d4 = pppppppcVar12;" (assignment_expression "pppppppcStack_d4 = pppppppcVar12" (identifier "pppppppcStack_d4") (= "=") (identifier "pppppppcVar12")) (; ";")) (expression_statement "pppppppcStack_d0 = pppppppcVar14;" (assignment_expression "pppppppcStack_d0 = pppppppcVar14" (identifier "pppppppcStack_d0") (= "=") (identifier "pppppppcVar14")) (; ";")) (expression_statement "pppppppcStack_cc = pppppppcVar15;" (assignment_expression "pppppppcStack_cc = pppppppcVar15" (identifier "pppppppcStack_cc") (= "=") (identifier "pppppppcVar15")) (; ";")) (expression_statement "pppppppcStack_c8 = param_3;" (assignment_expression "pppppppcStack_c8 = param_3" (identifier "pppppppcStack_c8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pcStack_c4 = pcVar24;" (assignment_expression "pcStack_c4 = pcVar24" (identifier "pcStack_c4") (= "=") (identifier "pcVar24")) (; ";")) (if_statement "if (pppppppcVar1 != (code *******)0x0) {\n    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }" (if "if") (parenthesized_expression "(pppppppcVar1 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar1 != (code *******)0x0" (identifier "pppppppcVar1") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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    pppppppcVar15 = &ppppppcStack_e0;\n    param_3 = (code *******)0x51;\n    pppppppcVar12 = pppppppcVar9;\n    do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);\n  }" ({ "{") (expression_statement "pppppppcVar15 = &ppppppcStack_e0;" (assignment_expression "pppppppcVar15 = &ppppppcStack_e0" (identifier "pppppppcVar15") (= "=") (pointer_expression "&ppppppcStack_e0" (& "&") (identifier "ppppppcStack_e0"))) (; ";")) (expression_statement "param_3 = (code *******)0x51;" (assignment_expression "param_3 = (code *******)0x51" (identifier "param_3") (= "=") (cast_expression "(code *******)0x51" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x51"))) (; ";")) (expression_statement "pppppppcVar12 = pppppppcVar9;" (assignment_expression "pppppppcVar12 = pppppppcVar9" (identifier "pppppppcVar12") (= "=") (identifier "pppppppcVar9")) (; ";")) (do_statement "do {\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    } while (pppppppcVar1 != (code *******)0x0);" (do "do") (compound_statement "{\n      pppppppcVar9 = pppppppcVar12;\n      pppppppcVar8 = pppppppcVar10;\n      pppppppcVar3 = pppppppcVar15;\n      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);\n      pppppppcVar14 = pppppppcVar22;\n      if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;\n      pppppppcVar1 = pppppppcVar10;\n      pppppppcVar10 = pppppppcVar1;\n    }" ({ "{") (expression_statement "pppppppcVar9 = pppppppcVar12;" (assignment_expression "pppppppcVar9 = pppppppcVar12" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar12")) (; ";")) (expression_statement "pppppppcVar8 = pppppppcVar10;" (assignment_expression "pppppppcVar8 = pppppppcVar10" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcVar10")) (; ";")) (expression_statement "pppppppcVar3 = pppppppcVar15;" (assignment_expression "pppppppcVar3 = pppppppcVar15" (identifier "pppppppcVar3") (= "=") (identifier "pppppppcVar15")) (; ";")) (expression_statement "pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);" (assignment_expression "pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22)" (identifier "pppppppcVar1") (= "=") (cast_expression "(code *******)FUN_00027084(pppppppcVar22)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_00027084(pppppppcVar22)" (identifier "FUN_00027084") (argument_list "(pppppppcVar22)" (( "(") (identifier "pppppppcVar22") () ")"))))) (; ";")) (expression_statement "pppppppcVar14 = pppppppcVar22;" (assignment_expression "pppppppcVar14 = pppppppcVar22" (identifier "pppppppcVar14") (= "=") (identifier "pppppppcVar22")) (; ";")) (if_statement "if (pppppppcVar1 == (code *******)0x0) {\n        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }\n      else if (pppppppcVar1 != (code *******)0x51) break;" (if "if") (parenthesized_expression "(pppppppcVar1 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar1 == (code *******)0x0" (identifier "pppppppcVar1") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);\n        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);\n      }" ({ "{") (expression_statement "pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);" (assignment_expression "pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0)" (identifier "pppppppcVar12") (= "=") (cast_expression "(code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar12 + (int)ppppppcStack_e0)" (( "(") (binary_expression "(int)pppppppcVar12 + (int)ppppppcStack_e0" (cast_expression "(int)pppppppcVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar12")) (+ "+") (cast_expression "(int)ppppppcStack_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_e0"))) () ")")))) (; ";")) (expression_statement "pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);" (assignment_expression "pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0)" (identifier "pppppppcVar10") (= "=") (cast_expression "(code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar10 - (int)ppppppcStack_e0)" (( "(") (binary_expression "(int)pppppppcVar10 - (int)ppppppcStack_e0" (cast_expression "(int)pppppppcVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar10")) (- "-") (cast_expression "(int)ppppppcStack_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_e0"))) () ")")))) (; ";")) (} "}")) (else_clause "else if (pppppppcVar1 != (code *******)0x51) break;" (else "else") (if_statement "if (pppppppcVar1 != (code *******)0x51) break;" (if "if") (parenthesized_expression "(pppppppcVar1 != (code *******)0x51)" (( "(") (binary_expression "pppppppcVar1 != (code *******)0x51" (identifier "pppppppcVar1") (!= "!=") (cast_expression "(code *******)0x51" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x51"))) () ")")) (break_statement "break;" (break "break") (; ";"))))) (expression_statement "pppppppcVar1 = pppppppcVar10;" (assignment_expression "pppppppcVar1 = pppppppcVar10" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcVar10")) (; ";")) (expression_statement "pppppppcVar10 = pppppppcVar1;" (assignment_expression "pppppppcVar10 = pppppppcVar1" (identifier "pppppppcVar10") (= "=") (identifier "pppppppcVar1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppcVar1 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar1 != (code *******)0x0" (identifier "pppppppcVar1") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (if_statement "if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {\n    return pppppppcVar1;\n  }" (if "if") (parenthesized_expression "(pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c))" (( "(") (binary_expression "pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)" (identifier "pppppppcStack_dc") (== "==") (cast_expression "(code *******)**(undefined4 **)(pcStack_e8 + -0x713c)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "**(undefined4 **)(pcStack_e8 + -0x713c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_e8 + -0x713c)" (* "*") (cast_expression "(undefined4 **)(pcStack_e8 + -0x713c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e8 + -0x713c)" (( "(") (binary_expression "pcStack_e8 + -0x713c" (identifier "pcStack_e8") (+ "+") (number_literal "-0x713c")) () ")"))))))) () ")")) (compound_statement "{\n    return pppppppcVar1;\n  }" ({ "{") (return_statement "return pppppppcVar1;" (return "return") (identifier "pppppppcVar1") (; ";")) (} "}"))) (expression_statement "pcVar21 = *(code **)(pcStack_e8 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_e8 + -0x74c8)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(pcStack_e8 + -0x74c8)" (* "*") (cast_expression "(code **)(pcStack_e8 + -0x74c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e8 + -0x74c8)" (( "(") (binary_expression "pcStack_e8 + -0x74c8" (identifier "pcStack_e8") (+ "+") (number_literal "-0x74c8")) () ")"))))) (; ";")) (expression_statement "pcVar24 = FUN_000414e8;" (assignment_expression "pcVar24 = FUN_000414e8" (identifier "pcVar24") (= "=") (identifier "FUN_000414e8")) (; ";")) (expression_statement "pppppppcVar1 = pppppppcStack_dc;" (assignment_expression "pppppppcVar1 = pppppppcStack_dc" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcStack_dc")) (; ";")) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_158 = pcVar21 + 0x77c28;" (assignment_expression "pcStack_158 = pcVar21 + 0x77c28" (identifier "pcStack_158") (= "=") (binary_expression "pcVar21 + 0x77c28" (identifier "pcVar21") (+ "+") (number_literal "0x77c28"))) (; ";")) (expression_statement "pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);" (assignment_expression "pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec)" (identifier "pppppppcStack_10c") (= "=") (cast_expression "(code *******)**(undefined4 **)(pcVar21 + 0x70aec)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "**(undefined4 **)(pcVar21 + 0x70aec)" (* "*") (pointer_expression "*(undefined4 **)(pcVar21 + 0x70aec)" (* "*") (cast_expression "(undefined4 **)(pcVar21 + 0x70aec)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70aec)" (( "(") (binary_expression "pcVar21 + 0x70aec" (identifier "pcVar21") (+ "+") (number_literal "0x70aec")) () ")"))))))) (; ";")) (expression_statement "uStack_148 = 0;" (assignment_expression "uStack_148 = 0" (identifier "uStack_148") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar22 = (code *******)&pppppppcStack_f0;" (assignment_expression "pppppppcVar22 = (code *******)&pppppppcStack_f0" (identifier "pppppppcVar22") (= "=") (cast_expression "(code *******)&pppppppcStack_f0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&pppppppcStack_f0" (& "&") (identifier "pppppppcStack_f0")))) (; ";")) (expression_statement "pppppppcStack_144 = pppppppcVar22;" (assignment_expression "pppppppcStack_144 = pppppppcVar22" (identifier "pppppppcStack_144") (= "=") (identifier "pppppppcVar22")) (; ";")) (expression_statement "pppppppcStack_104 = pppppppcVar10;" (assignment_expression "pppppppcStack_104 = pppppppcVar10" (identifier "pppppppcStack_104") (= "=") (identifier "pppppppcVar10")) (; ";")) (expression_statement "pppppppcStack_100 = pppppppcVar12;" (assignment_expression "pppppppcStack_100 = pppppppcVar12" (identifier "pppppppcStack_100") (= "=") (identifier "pppppppcVar12")) (; ";")) (expression_statement "pcStack_fc = pcVar24;" (assignment_expression "pcStack_fc = pcVar24" (identifier "pcStack_fc") (= "=") (identifier "pcVar24")) (; ";")) (expression_statement "pppppppcStack_f0 = pppppppcVar8;" (assignment_expression "pppppppcStack_f0 = pppppppcVar8" (identifier "pppppppcStack_f0") (= "=") (identifier "pppppppcVar8")) (; ";")) (expression_statement "pppppppcStack_ec = pppppppcVar3;" (assignment_expression "pppppppcStack_ec = pppppppcVar3" (identifier "pppppppcStack_ec") (= "=") (identifier "pppppppcVar3")) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);" (call_expression "(**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70930))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x70930)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x70930)" (* "*") (cast_expression "(code **)(pcVar21 + 0x70930)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70930)" (( "(") (binary_expression "pcVar21 + 0x70930" (identifier "pcVar21") (+ "+") (number_literal "0x70930")) () ")"))))) () ")")) (argument_list "(appppppcStack_140,0x32)" (( "(") (identifier "appppppcStack_140") (, ",") (number_literal "0x32") () ")"))) (; ";")) (expression_statement "pppppppcVar3 = appppppcStack_140;" (assignment_expression "pppppppcVar3 = appppppcStack_140" (identifier "pppppppcVar3") (= "=") (identifier "appppppcStack_140")) (; ";")) (expression_statement "iVar2 = FUN_0002f228(pppppppcVar1);" (assignment_expression "iVar2 = FUN_0002f228(pppppppcVar1)" (identifier "iVar2") (= "=") (call_expression "FUN_0002f228(pppppppcVar1)" (identifier "FUN_0002f228") (argument_list "(pppppppcVar1)" (( "(") (identifier "pppppppcVar1") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pppppppcVar9 = (code *******)&pppppppcStack_14c;\n    pppppppcVar3 = pppppppcVar1;\n    iVar2 = FUN_0002c44c(&uStack_148);\n    if (iVar2 == 0) goto LAB_00041574;\n  }" ({ "{") (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_14c;" (assignment_expression "pppppppcVar9 = (code *******)&pppppppcStack_14c" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)&pppppppcStack_14c" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&pppppppcStack_14c" (& "&") (identifier "pppppppcStack_14c")))) (; ";")) (expression_statement "pppppppcVar3 = pppppppcVar1;" (assignment_expression "pppppppcVar3 = pppppppcVar1" (identifier "pppppppcVar3") (= "=") (identifier "pppppppcVar1")) (; ";")) (expression_statement "iVar2 = FUN_0002c44c(&uStack_148);" (assignment_expression "iVar2 = FUN_0002c44c(&uStack_148)" (identifier "iVar2") (= "=") (call_expression "FUN_0002c44c(&uStack_148)" (identifier "FUN_0002c44c") (argument_list "(&uStack_148)" (( "(") (pointer_expression "&uStack_148" (& "&") (identifier "uStack_148")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_00041574;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00041574;" (goto "goto") (statement_identifier "LAB_00041574") (; ";"))) (} "}"))) (expression_statement "pppppppcStack_14c = (code *******)0xffffffff;" (assignment_expression "pppppppcStack_14c = (code *******)0xffffffff" (identifier "pppppppcStack_14c") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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_00041574:\n  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }" (statement_identifier "LAB_00041574") (: ":") (if_statement "if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {\n    return pppppppcStack_14c;\n  }" (if "if") (parenthesized_expression "(pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c))" (( "(") (binary_expression "pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)" (identifier "pppppppcStack_10c") (== "==") (cast_expression "(code *******)**(undefined4 **)(pcStack_158 + -0x713c)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "**(undefined4 **)(pcStack_158 + -0x713c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_158 + -0x713c)" (* "*") (cast_expression "(undefined4 **)(pcStack_158 + -0x713c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_158 + -0x713c)" (( "(") (binary_expression "pcStack_158 + -0x713c" (identifier "pcStack_158") (+ "+") (number_literal "-0x713c")) () ")"))))))) () ")")) (compound_statement "{\n    return pppppppcStack_14c;\n  }" ({ "{") (return_statement "return pppppppcStack_14c;" (return "return") (identifier "pppppppcStack_14c") (; ";")) (} "}")))) (expression_statement "pcVar21 = *(code **)(pcStack_158 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_158 + -0x74c8)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(pcStack_158 + -0x74c8)" (* "*") (cast_expression "(code **)(pcStack_158 + -0x74c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_158 + -0x74c8)" (( "(") (binary_expression "pcStack_158 + -0x74c8" (identifier "pcStack_158") (+ "+") (number_literal "-0x74c8")) () ")"))))) (; ";")) (expression_statement "uVar23 = 0x415d4;" (assignment_expression "uVar23 = 0x415d4" (identifier "uVar23") (= "=") (number_literal "0x415d4")) (; ";")) (expression_statement "pppppppcVar12 = pppppppcStack_10c;" (assignment_expression "pppppppcVar12 = pppppppcStack_10c" (identifier "pppppppcVar12") (= "=") (identifier "pppppppcStack_10c")) (; ";")) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_1a0 = pcVar21 + 0x77b3c;" (assignment_expression "pcStack_1a0 = pcVar21 + 0x77b3c" (identifier "pcStack_1a0") (= "=") (binary_expression "pcVar21 + 0x77b3c" (identifier "pcVar21") (+ "+") (number_literal "0x77b3c"))) (; ";")) (expression_statement "piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);" (assignment_expression "piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00)" (identifier "piStack_194") (= "=") (cast_expression "(int *)**(undefined4 **)(pcVar21 + 0x70a00)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar21 + 0x70a00)" (* "*") (pointer_expression "*(undefined4 **)(pcVar21 + 0x70a00)" (* "*") (cast_expression "(undefined4 **)(pcVar21 + 0x70a00)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70a00)" (( "(") (binary_expression "pcVar21 + 0x70a00" (identifier "pcVar21") (+ "+") (number_literal "0x70a00")) () ")"))))))) (; ";")) (expression_statement "ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];" (assignment_expression "ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)]" (identifier "ppppppcVar17") (= "=") (subscript_expression "pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)]" (identifier "pppppppcVar12") ([ "[") (cast_expression "(int)((int)pppppppcVar3 + 0x66)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pppppppcVar3 + 0x66)" (( "(") (binary_expression "(int)pppppppcVar3 + 0x66" (cast_expression "(int)pppppppcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar3")) (+ "+") (number_literal "0x66")) () ")"))) (] "]"))) (; ";")) (expression_statement "*(undefined4 *)pcStack_158 = 0;" (assignment_expression "*(undefined4 *)pcStack_158 = 0" (pointer_expression "*(undefined4 *)pcStack_158" (* "*") (cast_expression "(undefined4 *)pcStack_158" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcStack_158"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar8 = appppppcStack_140;" (assignment_expression "pppppppcVar8 = appppppcStack_140" (identifier "pppppppcVar8") (= "=") (identifier "appppppcStack_140")) (; ";")) (expression_statement "pppppppcStack_1c4 = pppppppcVar1;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar1" (identifier "pppppppcStack_1c4") (= "=") (identifier "pppppppcVar1")) (; ";")) (expression_statement "pppppppcStack_18c = appppppcStack_140;" (assignment_expression "pppppppcStack_18c = appppppcStack_140" (identifier "pppppppcStack_18c") (= "=") (identifier "appppppcStack_140")) (; ";")) (expression_statement "pppppppcStack_188 = pppppppcVar1;" (assignment_expression "pppppppcStack_188 = pppppppcVar1" (identifier "pppppppcStack_188") (= "=") (identifier "pppppppcVar1")) (; ";")) (expression_statement "pppppppcStack_184 = pppppppcVar14;" (assignment_expression "pppppppcStack_184 = pppppppcVar14" (identifier "pppppppcStack_184") (= "=") (identifier "pppppppcVar14")) (; ";")) (expression_statement "pppppppcStack_180 = pppppppcVar15;" (assignment_expression "pppppppcStack_180 = pppppppcVar15" (identifier "pppppppcStack_180") (= "=") (identifier "pppppppcVar15")) (; ";")) (expression_statement "pppppppcStack_17c = param_3;" (assignment_expression "pppppppcStack_17c = param_3" (identifier "pppppppcStack_17c") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppcStack_178 = pppppppcVar16;" (assignment_expression "pppppppcStack_178 = pppppppcVar16" (identifier "pppppppcStack_178") (= "=") (identifier "pppppppcVar16")) (; ";")) (expression_statement "pppppppcStack_174 = pppppppcVar18;" (assignment_expression "pppppppcStack_174 = pppppppcVar18" (identifier "pppppppcStack_174") (= "=") (identifier "pppppppcVar18")) (; ";")) (expression_statement "pppppppcStack_170 = pppppppcVar19;" (assignment_expression "pppppppcStack_170 = pppppppcVar19" (identifier "pppppppcStack_170") (= "=") (identifier "pppppppcVar19")) (; ";")) (expression_statement "uStack_16c = uVar23;" (assignment_expression "uStack_16c = uVar23" (identifier "uStack_16c") (= "=") (identifier "uVar23")) (; ";")) (if_statement "if ((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }\n  else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" (if "if") (parenthesized_expression "((pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1))" (( "(") (binary_expression "(pppppppcVar12[0xb3] == (code ******)0x0) ||\n     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)" (parenthesized_expression "(pppppppcVar12[0xb3] == (code ******)0x0)" (( "(") (binary_expression "pppppppcVar12[0xb3] == (code ******)0x0" (subscript_expression "pppppppcVar12[0xb3]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb3") (] "]")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)" (( "(") (comma_expression "pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1" (assignment_expression "pppppppcVar8 = pppppppcVar12" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcVar12")) (, ",") (binary_expression "pppppppcVar12[0xb5] == (code ******)0x1" (subscript_expression "pppppppcVar12[0xb5]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb5") (] "]")) (== "==") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1")))) () ")"))) () ")")) (compound_statement "{\n    pppppppcVar1 = pppppppcVar22;\n    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);\n    pppppppcVar18 = pppppppcVar9;\n    pppppppcVar12 = pppppppcVar8;\n  }" ({ "{") (expression_statement "pppppppcVar1 = pppppppcVar22;" (assignment_expression "pppppppcVar1 = pppppppcVar22" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcVar22")) (; ";")) (expression_statement "pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);" (assignment_expression "pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17)" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar21 + 0x7042c))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x7042c)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x7042c)" (* "*") (cast_expression "(code **)(pcVar21 + 0x7042c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x7042c)" (( "(") (binary_expression "pcVar21 + 0x7042c" (identifier "pcVar21") (+ "+") (number_literal "0x7042c")) () ")"))))) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))))) (; ";")) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (expression_statement "pppppppcVar12 = pppppppcVar8;" (assignment_expression "pppppppcVar12 = pppppppcVar8" (identifier "pppppppcVar12") (= "=") (identifier "pppppppcVar8")) (; ";")) (} "}")) (else_clause "else if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" (else "else") (if_statement "if (pppppppcVar12[0xbb] == (code ******)0x0) {\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }\n  else {\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" (if "if") (parenthesized_expression "(pppppppcVar12[0xbb] == (code ******)0x0)" (( "(") (binary_expression "pppppppcVar12[0xbb] == (code ******)0x0" (subscript_expression "pppppppcVar12[0xbb]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xbb") (] "]")) (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);\n    if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }\n    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);\n    pppppppcVar1 = pppppppcVar14;\n    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);\n    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);\n    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);\n    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);\n    pppppppcStack_1c4 = pppppppcVar14;\n    if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }\n  }" ({ "{") (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba])" (( "(") (binary_expression "(int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar12[0xb9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar12[0xb9]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb9") (] "]"))) (- "-") (cast_expression "(int)pppppppcVar12[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar12[0xba]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xba") (] "]")))) () ")")))) (; ";")) (if_statement "if (pppppppcVar22 < pppppppcVar14) {\n      pppppppcVar14 = pppppppcVar22;\n    }" (if "if") (parenthesized_expression "(pppppppcVar22 < pppppppcVar14)" (( "(") (binary_expression "pppppppcVar22 < pppppppcVar14" (identifier "pppppppcVar22") (< "<") (identifier "pppppppcVar14")) () ")")) (compound_statement "{\n      pppppppcVar14 = pppppppcVar22;\n    }" ({ "{") (expression_statement "pppppppcVar14 = pppppppcVar22;" (assignment_expression "pppppppcVar14 = pppppppcVar22" (identifier "pppppppcVar14") (= "=") (identifier "pppppppcVar22")) (; ";")) (} "}"))) (expression_statement "pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" (identifier "pppppppcVar18") (= "=") (cast_expression "(code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba])" (( "(") (binary_expression "(int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar12[0xb8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar12[0xb8]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb8") (] "]"))) (+ "+") (cast_expression "(int)pppppppcVar12[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar12[0xba]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xba") (] "]")))) () ")")))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcVar14;" (assignment_expression "pppppppcVar1 = pppppppcVar14" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcVar14")) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);" (call_expression "(**(code **)(pcVar21 + 0x7090c))(pppppppcVar9)" (parenthesized_expression "(**(code **)(pcVar21 + 0x7090c))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x7090c)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x7090c)" (* "*") (cast_expression "(code **)(pcVar21 + 0x7090c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x7090c)" (( "(") (binary_expression "pcVar21 + 0x7090c" (identifier "pcVar21") (+ "+") (number_literal "0x7090c")) () ")"))))) () ")")) (argument_list "(pppppppcVar9)" (( "(") (identifier "pppppppcVar9") () ")"))) (; ";")) (expression_statement "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" (subscript_expression "pppppppcVar12[0xba]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xba") (] "]")) (= "=") (cast_expression "(code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppcVar14 + (int)pppppppcVar12[0xba])" (( "(") (binary_expression "(int)pppppppcVar14 + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar14")) (+ "+") (cast_expression "(int)pppppppcVar12[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar12[0xba]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xba") (] "]")))) () ")")))) (; ";")) (expression_statement "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);" (assignment_expression "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14)" (identifier "pppppppcVar22") (= "=") (cast_expression "(code *******)((int)pppppppcVar22 - (int)pppppppcVar14)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar22 - (int)pppppppcVar14)" (( "(") (binary_expression "(int)pppppppcVar22 - (int)pppppppcVar14" (cast_expression "(int)pppppppcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar22")) (- "-") (cast_expression "(int)pppppppcVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar14"))) () ")")))) (; ";")) (expression_statement "pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);" (assignment_expression "pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14)" (identifier "pcVar21") (= "=") (cast_expression "(code *)((int)pppppppcVar9 + (int)pppppppcVar14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar9 + (int)pppppppcVar14)" (( "(") (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar14" (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")) (+ "+") (cast_expression "(int)pppppppcVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar14"))) () ")")))) (; ";")) (expression_statement "pppppppcStack_1c4 = pppppppcVar14;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar14" (identifier "pppppppcStack_1c4") (= "=") (identifier "pppppppcVar14")) (; ";")) (if_statement "if (pppppppcVar22 != (code *******)0x0) {\n      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }" (if "if") (parenthesized_expression "(pppppppcVar22 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar22 != (code *******)0x0" (identifier "pppppppcVar22") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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      pppppppcVar9 = pppppppcVar14;\n      pppppppcVar3 = pppppppcVar14;\n      do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);\n    }" ({ "{") (expression_statement "pppppppcVar9 = pppppppcVar14;" (assignment_expression "pppppppcVar9 = pppppppcVar14" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar14")) (; ";")) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" (identifier "pppppppcVar3") (= "=") (identifier "pppppppcVar14")) (; ";")) (do_statement "do {\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      } while (pppppppcVar22 != (code *******)0x0);" (do "do") (compound_statement "{\n        pppppppcVar1 = (code *******)0x4;\n        pppppppcVar18 = (code *******)&pppppppcStack_198;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcStack_1c4 = pppppppcVar9;\n        if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }\n        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);\n        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;\n        pppppppcVar1 = pppppppcStack_198;\n        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;\n        iVar2 = FUN_0004140c(ppppppcVar17);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar15;\n        if (iVar2 != 0) break;\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcStack_198;\n        pppppppcStack_1a8 = pppppppcVar12;\n        pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);\n        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;\n        pppppppcVar12[0xba] = (code ******)0x0;\n        if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }\n        pppppppcVar9 = pppppppcVar14;\n        if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }\n        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];\n        pppppppcVar1 = pppppppcVar9;\n        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);\n        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);\n        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);\n        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);\n        pcVar21 = pcVar21 + (int)pppppppcVar9;\n        pppppppcStack_1c4 = pppppppcVar9;\n        pppppppcVar3 = pppppppcVar14;\n      }" ({ "{") (expression_statement "pppppppcVar1 = (code *******)0x4;" (assignment_expression "pppppppcVar1 = (code *******)0x4" (identifier "pppppppcVar1") (= "=") (cast_expression "(code *******)0x4" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = (code *******)&pppppppcStack_198;" (assignment_expression "pppppppcVar18 = (code *******)&pppppppcStack_198" (identifier "pppppppcVar18") (= "=") (cast_expression "(code *******)&pppppppcStack_198" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&pppppppcStack_198" (& "&") (identifier "pppppppcStack_198")))) (; ";")) (expression_statement "iVar2 = FUN_0004140c(ppppppcVar17);" (assignment_expression "iVar2 = FUN_0004140c(ppppppcVar17)" (identifier "iVar2") (= "=") (call_expression "FUN_0004140c(ppppppcVar17)" (identifier "FUN_0004140c") (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")")))) (; ";")) (expression_statement "pppppppcStack_1c4 = pppppppcVar9;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar9" (identifier "pppppppcStack_1c4") (= "=") (identifier "pppppppcVar9")) (; ";")) (if_statement "if ((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {\nLAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }" (if "if") (parenthesized_expression "((iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0))" (( "(") (binary_expression "(iVar2 != 0) ||\n           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)" (( "(") (comma_expression "pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0" (assignment_expression "pppppppcVar18 = pppppppcStack_198" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcStack_198")) (, ",") (binary_expression "pppppppcStack_198 == (code *******)0x0" (identifier "pppppppcStack_198") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;\n          break;\n        }" ({ "{") (labeled_statement "LAB_0004180c:\n          pppppppcVar14 = (code *******)0xffffffff;" (statement_identifier "LAB_0004180c") (: ":") (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);" (assignment_expression "pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8])" (identifier "pppppppcVar15") (= "=") (cast_expression "(code *******)FUN_00053634(pppppppcVar12[0xb8])" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_00053634(pppppppcVar12[0xb8])" (identifier "FUN_00053634") (argument_list "(pppppppcVar12[0xb8])" (( "(") (subscript_expression "pppppppcVar12[0xb8]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb8") (] "]")) () ")"))))) (; ";")) (expression_statement "pppppppcVar12[0xb8] = (code ******)pppppppcVar15;" (assignment_expression "pppppppcVar12[0xb8] = (code ******)pppppppcVar15" (subscript_expression "pppppppcVar12[0xb8]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb8") (] "]")) (= "=") (cast_expression "(code ******)pppppppcVar15" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppppcVar15"))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcStack_198;" (assignment_expression "pppppppcVar1 = pppppppcStack_198" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcStack_198")) (; ";")) (if_statement "if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))\n        goto LAB_0004180c;" (if "if") (parenthesized_expression "((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))" (( "(") (binary_expression "(pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0)" (parenthesized_expression "(pppppppcStack_198 == (code *******)0x0)" (( "(") (binary_expression "pppppppcStack_198 == (code *******)0x0" (identifier "pppppppcStack_198") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "(pppppppcVar15 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar15 == (code *******)0x0" (identifier "pppppppcVar15") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_0004180c;" (goto "goto") (statement_identifier "LAB_0004180c") (; ";"))) (expression_statement "iVar2 = FUN_0004140c(ppppppcVar17);" (assignment_expression "iVar2 = FUN_0004140c(ppppppcVar17)" (identifier "iVar2") (= "=") (call_expression "FUN_0004140c(ppppppcVar17)" (identifier "FUN_0004140c") (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")")))) (; ";")) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = pppppppcVar15;" (assignment_expression "pppppppcVar18 = pppppppcVar15" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar15")) (; ";")) (if_statement "if (iVar2 != 0) break;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppppcVar18 = (code *******)pppppppcVar12[0xb8];" (assignment_expression "pppppppcVar18 = (code *******)pppppppcVar12[0xb8]" (identifier "pppppppcVar18") (= "=") (cast_expression "(code *******)pppppppcVar12[0xb8]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppppcVar12[0xb8]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb8") (] "]")))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcStack_198;" (assignment_expression "pppppppcVar1 = pppppppcStack_198" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcStack_198")) (; ";")) (expression_statement "pppppppcStack_1a8 = pppppppcVar12;" (assignment_expression "pppppppcStack_1a8 = pppppppcVar12" (identifier "pppppppcStack_1a8") (= "=") (identifier "pppppppcVar12")) (; ";")) (expression_statement "pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);" (assignment_expression "pppppppcVar14 =\n             (code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)\n             (*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)pppppppcVar12[0xbd][8])\n                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" (parenthesized_expression "(*(code *)pppppppcVar12[0xbd][8])" (( "(") (pointer_expression "*(code *)pppppppcVar12[0xbd][8]" (* "*") (cast_expression "(code *)pppppppcVar12[0xbd][8]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppppcVar12[0xbd][8]" (subscript_expression "pppppppcVar12[0xbd]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xbd") (] "]")) ([ "[") (number_literal "8") (] "]")))) () ")")) (argument_list "(pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5])" (( "(") (subscript_expression "pppppppcVar12[0xbc]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xbc") (] "]")) (, ",") (identifier "pppppppcVar18") (, ",") (identifier "pppppppcStack_198") (, ",") (subscript_expression "pppppppcVar12[0xb5]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb5") (] "]")) () ")"))))) (; ";")) (expression_statement "pppppppcVar12[0xb9] = (code ******)pppppppcVar14;" (assignment_expression "pppppppcVar12[0xb9] = (code ******)pppppppcVar14" (subscript_expression "pppppppcVar12[0xb9]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb9") (] "]")) (= "=") (cast_expression "(code ******)pppppppcVar14" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppppcVar14"))) (; ";")) (expression_statement "pppppppcVar12[0xba] = (code ******)0x0;" (assignment_expression "pppppppcVar12[0xba] = (code ******)0x0" (subscript_expression "pppppppcVar12[0xba]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xba") (] "]")) (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (pppppppcVar14 == (code *******)0x0) {\n          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }" (if "if") (parenthesized_expression "(pppppppcVar14 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar14 == (code *******)0x0" (identifier "pppppppcVar14") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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          pppppppcVar14 = pppppppcVar9;\n          if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }\n          break;\n        }" ({ "{") (expression_statement "pppppppcVar14 = pppppppcVar9;" (assignment_expression "pppppppcVar14 = pppppppcVar9" (identifier "pppppppcVar14") (= "=") (identifier "pppppppcVar9")) (; ";")) (if_statement "if (pppppppcVar9 != (code *******)0x0) {\n            pppppppcVar12[0xbb] = (code ******)0x1;\n          }" (if "if") (parenthesized_expression "(pppppppcVar9 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar9 != (code *******)0x0" (identifier "pppppppcVar9") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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            pppppppcVar12[0xbb] = (code ******)0x1;\n          }" ({ "{") (expression_statement "pppppppcVar12[0xbb] = (code ******)0x1;" (assignment_expression "pppppppcVar12[0xbb] = (code ******)0x1" (subscript_expression "pppppppcVar12[0xbb]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xbb") (] "]")) (= "=") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (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 "pppppppcVar9 = pppppppcVar14;" (assignment_expression "pppppppcVar9 = pppppppcVar14" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar14")) (; ";")) (if_statement "if (pppppppcVar22 < pppppppcVar14) {\n          pppppppcVar9 = pppppppcVar22;\n        }" (if "if") (parenthesized_expression "(pppppppcVar22 < pppppppcVar14)" (( "(") (binary_expression "pppppppcVar22 < pppppppcVar14" (identifier "pppppppcVar22") (< "<") (identifier "pppppppcVar14")) () ")")) (compound_statement "{\n          pppppppcVar9 = pppppppcVar22;\n        }" ({ "{") (expression_statement "pppppppcVar9 = pppppppcVar22;" (assignment_expression "pppppppcVar9 = pppppppcVar22" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar22")) (; ";")) (} "}"))) (expression_statement "pppppppcVar18 = (code *******)pppppppcVar12[0xb8];" (assignment_expression "pppppppcVar18 = (code *******)pppppppcVar12[0xb8]" (identifier "pppppppcVar18") (= "=") (cast_expression "(code *******)pppppppcVar12[0xb8]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppppcVar12[0xb8]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xb8") (] "]")))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcVar9;" (assignment_expression "pppppppcVar1 = pppppppcVar9" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcVar9")) (; ";")) (expression_statement "(**(code **)(pcStack_1a0 + -0x7230))(pcVar21);" (call_expression "(**(code **)(pcStack_1a0 + -0x7230))(pcVar21)" (parenthesized_expression "(**(code **)(pcStack_1a0 + -0x7230))" (( "(") (pointer_expression "**(code **)(pcStack_1a0 + -0x7230)" (* "*") (pointer_expression "*(code **)(pcStack_1a0 + -0x7230)" (* "*") (cast_expression "(code **)(pcStack_1a0 + -0x7230)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a0 + -0x7230)" (( "(") (binary_expression "pcStack_1a0 + -0x7230" (identifier "pcStack_1a0") (+ "+") (number_literal "-0x7230")) () ")"))))) () ")")) (argument_list "(pcVar21)" (( "(") (identifier "pcVar21") () ")"))) (; ";")) (expression_statement "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);" (assignment_expression "pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" (subscript_expression "pppppppcVar12[0xba]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xba") (] "]")) (= "=") (cast_expression "(code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppcVar9 + (int)pppppppcVar12[0xba])" (( "(") (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar12[0xba]" (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")) (+ "+") (cast_expression "(int)pppppppcVar12[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar12[0xba]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xba") (] "]")))) () ")")))) (; ";")) (expression_statement "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);" (assignment_expression "pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9)" (identifier "pppppppcVar22") (= "=") (cast_expression "(code *******)((int)pppppppcVar22 - (int)pppppppcVar9)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar22 - (int)pppppppcVar9)" (( "(") (binary_expression "(int)pppppppcVar22 - (int)pppppppcVar9" (cast_expression "(int)pppppppcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar22")) (- "-") (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9"))) () ")")))) (; ";")) (expression_statement "pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);" (assignment_expression "pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9)" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)((int)pppppppcVar3 + (int)pppppppcVar9)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar3 + (int)pppppppcVar9)" (( "(") (binary_expression "(int)pppppppcVar3 + (int)pppppppcVar9" (cast_expression "(int)pppppppcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar3")) (+ "+") (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9"))) () ")")))) (; ";")) (expression_statement "pcVar21 = pcVar21 + (int)pppppppcVar9;" (assignment_expression "pcVar21 = pcVar21 + (int)pppppppcVar9" (identifier "pcVar21") (= "=") (binary_expression "pcVar21 + (int)pppppppcVar9" (identifier "pcVar21") (+ "+") (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")))) (; ";")) (expression_statement "pppppppcStack_1c4 = pppppppcVar9;" (assignment_expression "pppppppcStack_1c4 = pppppppcVar9" (identifier "pppppppcStack_1c4") (= "=") (identifier "pppppppcVar9")) (; ";")) (expression_statement "pppppppcVar3 = pppppppcVar14;" (assignment_expression "pppppppcVar3 = pppppppcVar14" (identifier "pppppppcVar3") (= "=") (identifier "pppppppcVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppcVar22 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar22 != (code *******)0x0" (identifier "pppppppcVar22") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" (else "else") (compound_statement "{\n    pppppppcVar12[0xbb] = (code ******)0x0;\n    pppppppcVar14 = (code *******)0x0;\n    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);\n    pppppppcVar1 = pppppppcVar9;\n  }" ({ "{") (expression_statement "pppppppcVar12[0xbb] = (code ******)0x0;" (assignment_expression "pppppppcVar12[0xbb] = (code ******)0x0" (subscript_expression "pppppppcVar12[0xbb]" (identifier "pppppppcVar12") ([ "[") (number_literal "0xbb") (] "]")) (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcVar14 = (code *******)0x0;" (assignment_expression "pppppppcVar14 = (code *******)0x0" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);" (assignment_expression "pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66)" (identifier "pppppppcVar18") (= "=") (binary_expression "pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66)" (identifier "pppppppcVar12") (+ "+") (cast_expression "(int)((int)pppppppcVar3 + 0x66)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pppppppcVar3 + 0x66)" (( "(") (binary_expression "(int)pppppppcVar3 + 0x66" (cast_expression "(int)pppppppcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar3")) (+ "+") (number_literal "0x66")) () ")"))))) (; ";")) (expression_statement "pppppppcVar1 = pppppppcVar9;" (assignment_expression "pppppppcVar1 = pppppppcVar9" (identifier "pppppppcVar1") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")))))) (if_statement "if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {\n    return pppppppcVar14;\n  }" (if "if") (parenthesized_expression "(piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c))" (( "(") (binary_expression "piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)" (identifier "piStack_194") (== "==") (cast_expression "(int *)**(undefined4 **)(pcStack_1a0 + -0x713c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_1a0 + -0x713c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_1a0 + -0x713c)" (* "*") (cast_expression "(undefined4 **)(pcStack_1a0 + -0x713c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a0 + -0x713c)" (( "(") (binary_expression "pcStack_1a0 + -0x713c" (identifier "pcStack_1a0") (+ "+") (number_literal "-0x713c")) () ")"))))))) () ")")) (compound_statement "{\n    return pppppppcVar14;\n  }" ({ "{") (return_statement "return pppppppcVar14;" (return "return") (identifier "pppppppcVar14") (; ";")) (} "}"))) (expression_statement "pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);" (assignment_expression "pcVar21 = *(code **)(pcStack_1a0 + -0x74c8)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(pcStack_1a0 + -0x74c8)" (* "*") (cast_expression "(code **)(pcStack_1a0 + -0x74c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a0 + -0x74c8)" (( "(") (binary_expression "pcStack_1a0 + -0x74c8" (identifier "pcStack_1a0") (+ "+") (number_literal "-0x74c8")) () ")"))))) (; ";")) (expression_statement "pcVar24 = FUN_00041844;" (assignment_expression "pcVar24 = FUN_00041844" (identifier "pcVar24") (= "=") (identifier "FUN_00041844")) (; ";")) (expression_statement "piVar7 = piStack_194;" (assignment_expression "piVar7 = piStack_194" (identifier "piVar7") (= "=") (identifier "piStack_194")) (; ";")) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iStack_1cc = **(int **)(pcVar21 + 0x70790);" (assignment_expression "iStack_1cc = **(int **)(pcVar21 + 0x70790)" (identifier "iStack_1cc") (= "=") (pointer_expression "**(int **)(pcVar21 + 0x70790)" (* "*") (pointer_expression "*(int **)(pcVar21 + 0x70790)" (* "*") (cast_expression "(int **)(pcVar21 + 0x70790)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70790)" (( "(") (binary_expression "pcVar21 + 0x70790" (identifier "pcVar21") (+ "+") (number_literal "0x70790")) () ")")))))) (; ";")) (expression_statement "pppppppcStack_1d4 = (code *******)0x0;" (assignment_expression "pppppppcStack_1d4 = (code *******)0x0" (identifier "pppppppcStack_1d4") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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_1d0 = 0;" (assignment_expression "iStack_1d0 = 0" (identifier "iStack_1d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcStack_1c8 = pppppppcVar12;" (assignment_expression "pppppppcStack_1c8 = pppppppcVar12" (identifier "pppppppcStack_1c8") (= "=") (identifier "pppppppcVar12")) (; ";")) (expression_statement "pppppppcStack_1c0 = pppppppcVar22;" (assignment_expression "pppppppcStack_1c0 = pppppppcVar22" (identifier "pppppppcStack_1c0") (= "=") (identifier "pppppppcVar22")) (; ";")) (expression_statement "pcStack_1bc = pcVar24;" (assignment_expression "pcStack_1bc = pcVar24" (identifier "pcStack_1bc") (= "=") (identifier "pcVar24")) (; ";")) (if_statement "if (piVar7[0xbd] == 0) {\n    pppppppcVar14 = (code *******)0xffffffff;\n  }\n  else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" (if "if") (parenthesized_expression "(piVar7[0xbd] == 0)" (( "(") (binary_expression "piVar7[0xbd] == 0" (subscript_expression "piVar7[0xbd]" (identifier "piVar7") ([ "[") (number_literal "0xbd") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pppppppcVar14 = (code *******)0xffffffff;\n  }" ({ "{") (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else {\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" (else "else") (compound_statement "{\n    pppppppcVar9 = (code *******)&pppppppcStack_1d8;\n    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);\n    if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }\n  }" ({ "{") (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = (code *******)&pppppppcStack_1d8" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)&pppppppcStack_1d8" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&pppppppcStack_1d8" (& "&") (identifier "pppppppcStack_1d8")))) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);" (assignment_expression "iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" (parenthesized_expression "(**(code **)(pcVar21 + 0x6fda0))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x6fda0)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x6fda0)" (* "*") (cast_expression "(code **)(pcVar21 + 0x6fda0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x6fda0)" (( "(") (binary_expression "pcVar21 + 0x6fda0" (identifier "pcVar21") (+ "+") (number_literal "0x6fda0")) () ")"))))) () ")")) (argument_list "(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0)" (( "(") (binary_expression "pppppppcVar18 + 1" (identifier "pppppppcVar18") (+ "+") (number_literal "1")) (, ",") (identifier "pppppppcVar9") (, ",") (pointer_expression "&iStack_1d0" (& "&") (identifier "iStack_1d0")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }\n    else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }\n    }" ({ "{") (if_statement "if (iStack_1d0 == 0) {\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iStack_1d0 == 0)" (( "(") (binary_expression "iStack_1d0 == 0" (identifier "iStack_1d0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }" ({ "{") (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")) (else_clause "else if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" (else "else") (if_statement "if (iStack_1d0 < 0) {\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }\n      else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iStack_1d0 < 0)" (( "(") (binary_expression "iStack_1d0 < 0" (identifier "iStack_1d0") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n        pppppppcVar14 = (code *******)0xffffffff;\n        pppppppcVar18 = pppppppcVar9;\n      }" ({ "{") (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x6f900)" (( "(") (binary_expression "pcVar21 + 0x6f900" (identifier "pcVar21") (+ "+") (number_literal "0x6f900")) () ")"))))))) () ")")) (argument_list "(pppppppcStack_1d8)" (( "(") (identifier "pppppppcStack_1d8") () ")"))) (; ";")) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")) (else_clause "else {\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();\n        pppppppcVar9 = pppppppcStack_1d8;\n        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);\n        if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }\n      }" ({ "{") (expression_statement "uVar23 = (**(code **)(pcVar21 + 0x6fce0))();" (assignment_expression "uVar23 = (**(code **)(pcVar21 + 0x6fce0))()" (identifier "uVar23") (= "=") (call_expression "(**(code **)(pcVar21 + 0x6fce0))()" (parenthesized_expression "(**(code **)(pcVar21 + 0x6fce0))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x6fce0)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x6fce0)" (* "*") (cast_expression "(code **)(pcVar21 + 0x6fce0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x6fce0)" (( "(") (binary_expression "pcVar21 + 0x6fce0" (identifier "pcVar21") (+ "+") (number_literal "0x6fce0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppppppcVar9 = pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = pppppppcStack_1d8" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcStack_1d8")) (; ";")) (expression_statement "iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);" (assignment_expression "iVar2 = (**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(piVar7[0xbd] + 0x20))\n                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" (parenthesized_expression "(**(code **)(piVar7[0xbd] + 0x20))" (( "(") (pointer_expression "**(code **)(piVar7[0xbd] + 0x20)" (* "*") (pointer_expression "*(code **)(piVar7[0xbd] + 0x20)" (* "*") (cast_expression "(code **)(piVar7[0xbd] + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar7[0xbd] + 0x20)" (( "(") (binary_expression "piVar7[0xbd] + 0x20" (subscript_expression "piVar7[0xbd]" (identifier "piVar7") ([ "[") (number_literal "0xbd") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "(piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7)" (( "(") (subscript_expression "piVar7[0xbc]" (identifier "piVar7") ([ "[") (number_literal "0xbc") (] "]")) (, ",") (identifier "pppppppcStack_1d8") (, ",") (identifier "uVar23") (, ",") (identifier "pppppppcVar1") (, ",") (identifier "piVar7") () ")")))) (; ";")) (if_statement "if (iVar2 < 1) {\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }\n        else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" (if "if") (parenthesized_expression "(iVar2 < 1)" (( "(") (binary_expression "iVar2 < 1" (identifier "iVar2") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n          pppppppcVar14 = (code *******)0xffffffff;\n          pppppppcVar18 = pppppppcVar9;\n        }" ({ "{") (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x6f900)" (( "(") (binary_expression "pcVar21 + 0x6f900" (identifier "pcVar21") (+ "+") (number_literal "0x6f900")) () ")"))))))) () ")")) (argument_list "(pppppppcStack_1d8)" (( "(") (identifier "pppppppcStack_1d8") () ")"))) (; ";")) (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")) (else_clause "else {\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" (else "else") (compound_statement "{\n          if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }\n          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;\n          if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }\n        }" ({ "{") (if_statement "if (*(char *)(*piVar7 + 0x958) != '\0') {\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }" (if "if") (parenthesized_expression "(*(char *)(*piVar7 + 0x958) != '\0')" (( "(") (binary_expression "*(char *)(*piVar7 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar7 + 0x958)" (* "*") (cast_expression "(char *)(*piVar7 + 0x958)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar7 + 0x958)" (( "(") (binary_expression "*piVar7 + 0x958" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (+ "+") (number_literal "0x958")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;\n            pppppppcVar9 = (code *******)0x1;\n            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);\n          }" ({ "{") (expression_statement "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;" (assignment_expression "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + iVar2)" (* "*") (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2)" (( "(") (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_1d8")) (+ "+") (identifier "iVar2")) () ")")))) (= "=") (cast_expression "(code)0xa" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0xa"))) (; ";")) (expression_statement "pppppppcVar9 = (code *******)0x1;" (assignment_expression "pppppppcVar9 = (code *******)0x1" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)0x1" (( "(") (type_descriptor "code *******" (type_identifier "code") (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_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);" (call_expression "FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1)" (identifier "FUN_00027324") (argument_list "(*piVar7,1,pppppppcStack_1d8,iVar2 + 1)" (( "(") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (, ",") (number_literal "1") (, ",") (identifier "pppppppcStack_1d8") (, ",") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (expression_statement "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;" (assignment_expression "*(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + iVar2)" (* "*") (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2)" (( "(") (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_1d8")) (+ "+") (identifier "iVar2")) () ")")))) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar2 < 4) {\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }\n          else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" (if "if") (parenthesized_expression "(iVar2 < 4)" (( "(") (binary_expression "iVar2 < 4" (identifier "iVar2") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n            pppppppcVar14 = (code *******)0x0;\n            pppppppcVar18 = pppppppcVar9;\n          }" ({ "{") (expression_statement "pppppppcVar14 = (code *******)0x0;" (assignment_expression "pppppppcVar14 = (code *******)0x0" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")) (else_clause "else {\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" (else "else") (compound_statement "{\n            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }\n            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);\n            if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }\n            pppppppcVar9 = pppppppcStack_1d8;\n            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);\n            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);\n            pppppppcVar14 = pppppppcStack_1d4;\n            pppppppcVar18 = pppppppcVar9;\n          }" ({ "{") (if_statement "if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d)" (( "(") (binary_expression "*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d" (pointer_expression "*(code *)((int)pppppppcStack_1d8 + 3)" (* "*") (cast_expression "(code *)((int)pppppppcStack_1d8 + 3)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_1d8 + 3)" (( "(") (binary_expression "(int)pppppppcStack_1d8 + 3" (cast_expression "(int)pppppppcStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_1d8")) (+ "+") (number_literal "3")) () ")")))) (!= "!=") (cast_expression "(code)0x2d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2d"))) () ")")) (compound_statement "{\n              (**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);\n            }" ({ "{") (expression_statement "(**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);" (call_expression "(**(code **)(pcVar21 + 0x70494))\n                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70494))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x70494)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x70494)" (* "*") (cast_expression "(code **)(pcVar21 + 0x70494)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70494)" (( "(") (binary_expression "pcVar21 + 0x70494" (identifier "pcVar21") (+ "+") (number_literal "0x70494")) () ")"))))) () ")")) (argument_list "(pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4)" (( "(") (identifier "pppppppcStack_1d8") (, ",") (binary_expression "*(int *)(pcVar21 + 0x6f8f8) + 0x3a18" (pointer_expression "*(int *)(pcVar21 + 0x6f8f8)" (* "*") (cast_expression "(int *)(pcVar21 + 0x6f8f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x6f8f8)" (( "(") (binary_expression "pcVar21 + 0x6f8f8" (identifier "pcVar21") (+ "+") (number_literal "0x6f8f8")) () ")")))) (+ "+") (number_literal "0x3a18")) (, ",") (pointer_expression "&pppppppcStack_1d4" (& "&") (identifier "pppppppcStack_1d4")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);" (assignment_expression "pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1)" (identifier "pcVar24") (= "=") (cast_expression "(code *)((int)pppppppcStack_1d8 + iVar2 + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_1d8 + iVar2 + -1)" (( "(") (binary_expression "(int)pppppppcStack_1d8 + iVar2 + -1" (binary_expression "(int)pppppppcStack_1d8 + iVar2" (cast_expression "(int)pppppppcStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_1d8")) (+ "+") (identifier "iVar2")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if (*pcVar24 == (code)0xa) {\n              *pcVar24 = (code)0x0;\n            }" (if "if") (parenthesized_expression "(*pcVar24 == (code)0xa)" (( "(") (binary_expression "*pcVar24 == (code)0xa" (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) (== "==") (cast_expression "(code)0xa" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0xa"))) () ")")) (compound_statement "{\n              *pcVar24 = (code)0x0;\n            }" ({ "{") (expression_statement "*pcVar24 = (code)0x0;" (assignment_expression "*pcVar24 = (code)0x0" (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar9 = pppppppcStack_1d8;" (assignment_expression "pppppppcVar9 = pppppppcStack_1d8" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcStack_1d8")) (; ";")) (expression_statement "(**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);" (call_expression "(**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70108))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x70108)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x70108)" (* "*") (cast_expression "(code **)(pcVar21 + 0x70108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70108)" (( "(") (binary_expression "pcVar21 + 0x70108" (identifier "pcVar21") (+ "+") (number_literal "0x70108")) () ")"))))) () ")")) (argument_list "(pppppppcVar18,pppppppcStack_1d8)" (( "(") (identifier "pppppppcVar18") (, ",") (identifier "pppppppcStack_1d8") () ")"))) (; ";")) (expression_statement "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);" (call_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar21 + 0x6f900))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar21 + 0x6f900)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (pointer_expression "*(undefined4 **)(pcVar21 + 0x6f900)" (* "*") (cast_expression "(undefined4 **)(pcVar21 + 0x6f900)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x6f900)" (( "(") (binary_expression "pcVar21 + 0x6f900" (identifier "pcVar21") (+ "+") (number_literal "0x6f900")) () ")"))))))) () ")")) (argument_list "(pppppppcStack_1d8)" (( "(") (identifier "pppppppcStack_1d8") () ")"))) (; ";")) (expression_statement "pppppppcVar14 = pppppppcStack_1d4;" (assignment_expression "pppppppcVar14 = pppppppcStack_1d4" (identifier "pppppppcVar14") (= "=") (identifier "pppppppcStack_1d4")) (; ";")) (expression_statement "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")))) (} "}")))) (} "}")))))) (} "}")) (else_clause "else {\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" (else "else") (compound_statement "{\n      pppppppcVar14 = (code *******)0xffffffff;\n      pppppppcVar18 = pppppppcVar9;\n    }" ({ "{") (expression_statement "pppppppcVar14 = (code *******)0xffffffff;" (assignment_expression "pppppppcVar14 = (code *******)0xffffffff" (identifier "pppppppcVar14") (= "=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "pppppppcVar18 = pppppppcVar9;" (assignment_expression "pppppppcVar18 = pppppppcVar9" (identifier "pppppppcVar18") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }" (if "if") (parenthesized_expression "(iStack_1cc != **(int **)(pcVar21 + 0x70790))" (( "(") (binary_expression "iStack_1cc != **(int **)(pcVar21 + 0x70790)" (identifier "iStack_1cc") (!= "!=") (pointer_expression "**(int **)(pcVar21 + 0x70790)" (* "*") (pointer_expression "*(int **)(pcVar21 + 0x70790)" (* "*") (cast_expression "(int **)(pcVar21 + 0x70790)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70790)" (( "(") (binary_expression "pcVar21 + 0x70790" (identifier "pcVar21") (+ "+") (number_literal "0x70790")) () ")")))))) () ")")) (compound_statement "{\n    pcVar21 = *(code **)(pcVar21 + 0x70404);\n    iVar2 = iStack_1cc;\n    (*pcVar21)();\n    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;\n    iVar11 = 0;\n    do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);\n    return (code *******)0xffffffff;\n  }" ({ "{") (expression_statement "pcVar21 = *(code **)(pcVar21 + 0x70404);" (assignment_expression "pcVar21 = *(code **)(pcVar21 + 0x70404)" (identifier "pcVar21") (= "=") (pointer_expression "*(code **)(pcVar21 + 0x70404)" (* "*") (cast_expression "(code **)(pcVar21 + 0x70404)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70404)" (( "(") (binary_expression "pcVar21 + 0x70404" (identifier "pcVar21") (+ "+") (number_literal "0x70404")) () ")"))))) (; ";")) (expression_statement "iVar2 = iStack_1cc;" (assignment_expression "iVar2 = iStack_1cc" (identifier "iVar2") (= "=") (identifier "iStack_1cc")) (; ";")) (expression_statement "(*pcVar21)();" (call_expression "(*pcVar21)()" (parenthesized_expression "(*pcVar21)" (( "(") (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;" (assignment_expression "iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478" (identifier "iVar13") (= "=") (binary_expression "*(int *)(pcVar21 + 0x6f6b4) + 0x478" (pointer_expression "*(int *)(pcVar21 + 0x6f6b4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x6f6b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x6f6b4)" (( "(") (binary_expression "pcVar21 + 0x6f6b4" (identifier "pcVar21") (+ "+") (number_literal "0x6f6b4")) () ")")))) (+ "+") (number_literal "0x478"))) (; ";")) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    } while (iVar11 != 4);" (do "do") (compound_statement "{\n      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);\n      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);\n      if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }\n      iVar11 = iVar11 + 1;\n      iVar13 = iVar13 + 8;\n    }" ({ "{") (expression_statement "uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);" (assignment_expression "uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18)" (identifier "uVar23") (= "=") (call_expression "(**(code **)(pcVar21 + 0x70424))(pppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar21 + 0x70424))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x70424)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x70424)" (* "*") (cast_expression "(code **)(pcVar21 + 0x70424)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x70424)" (( "(") (binary_expression "pcVar21 + 0x70424" (identifier "pcVar21") (+ "+") (number_literal "0x70424")) () ")"))))) () ")")) (argument_list "(pppppppcVar18)" (( "(") (identifier "pppppppcVar18") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);" (assignment_expression "iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" (parenthesized_expression "(**(code **)(pcVar21 + 0x704b4))" (( "(") (pointer_expression "**(code **)(pcVar21 + 0x704b4)" (* "*") (pointer_expression "*(code **)(pcVar21 + 0x704b4)" (* "*") (cast_expression "(code **)(pcVar21 + 0x704b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar21 + 0x704b4)" (( "(") (binary_expression "pcVar21 + 0x704b4" (identifier "pcVar21") (+ "+") (number_literal "0x704b4")) () ")"))))) () ")")) (argument_list "(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23)" (( "(") (identifier "pppppppcVar18") (, ",") (pointer_expression "*(undefined4 *)(iVar13 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 4)" (( "(") (binary_expression "iVar13 + 4" (identifier "iVar13") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "uVar23") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);\n        if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }\n        return (code *******)0xffffffff;\n      }" ({ "{") (expression_statement "iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);" (assignment_expression "iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" (* "*") (cast_expression "(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478)" (( "(") (binary_expression "iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478" (binary_expression "iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4)" (binary_expression "iVar11 * 8" (identifier "iVar11") (* "*") (number_literal "8")) (+ "+") (pointer_expression "*(int *)(pcVar21 + 0x6f6b4)" (* "*") (cast_expression "(int *)(pcVar21 + 0x6f6b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar21 + 0x6f6b4)" (( "(") (binary_expression "pcVar21 + 0x6f6b4" (identifier "pcVar21") (+ "+") (number_literal "0x6f6b4")) () ")"))))) (+ "+") (number_literal "0x478")) () ")"))))) (; ";")) (if_statement "if (iVar11 != 0) {\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(int *)(iVar2 + 0x2d8) = iVar11;\n          return (code *******)0x0;\n        }" ({ "{") (expression_statement "*(int *)(iVar2 + 0x2d8) = iVar11;" (assignment_expression "*(int *)(iVar2 + 0x2d8) = iVar11" (pointer_expression "*(int *)(iVar2 + 0x2d8)" (* "*") (cast_expression "(int *)(iVar2 + 0x2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2d8)" (( "(") (binary_expression "iVar2 + 0x2d8" (identifier "iVar2") (+ "+") (number_literal "0x2d8")) () ")")))) (= "=") (identifier "iVar11")) (; ";")) (return_statement "return (code *******)0x0;" (return "return") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (return_statement "return (code *******)0xffffffff;" (return "return") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (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 "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + 1" (identifier "iVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = iVar13 + 8;" (assignment_expression "iVar13 = iVar13 + 8" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar11 != 4)" (( "(") (binary_expression "iVar11 != 4" (identifier "iVar11") (!= "!=") (number_literal "4")) () ")")) (; ";")) (return_statement "return (code *******)0xffffffff;" (return "return") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff")) (; ";")) (} "}"))) (return_statement "return pppppppcVar14;" (return "return") (identifier "pppppppcVar14") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 function_1(type_2 *conn,type_3 fd,void *to,size_t var_1)

{
  type_4 aVar1;
  int var_9;
  type_5 *puVar3;
  type_1 var_20;
  type_4 aVar5;
  int var_37;
  type_5 *var_6;
  type_6 *data;
  int *piVar8;
  type_3 var_7;
  type_4 aVar10;
  type_4 aVar11;
  type_4 bytesfromsocket;
  char *pcVar12;
  type_4 unaff_s1;
  int var_8;
  type_4 aVar14;
  int var_36;
  type_2 *unaff_s2;
  type_4 aVar16;
  type_3 unaff_s3;
  type_4 aVar17;
  type_7 *var_29;
  ssize_t *unaff_s4;
  type_4 aVar19;
  type_5 unaff_s5;
  type_8 cVar20;
  type_4 aVar21;
  type_1 var_14;
  type_9 *var_5;
  type_10 *var_15;
  type_4 aVar25;
  type_5 uVar26;
  type_10 *pcVar27;
  type_4 aStack_1d8;
  type_1 CStack_1d4;
  int var_32;
  int var_35;
  type_4 aStack_1c8;
  type_4 aStack_1c4;
  type_4 aStack_1c0;
  type_10 *pcStack_1bc;
  type_4 aStack_198;
  int *var_30;
  type_4 aStack_18c;
  type_4 aStack_188;
  type_4 aStack_184;
  type_4 aStack_180;
  type_4 aStack_17c;
  type_8 cStack_178;
  type_4 aStack_174;
  type_1 CStack_170;
  type_10 *pcStack_16c;
  type_10 *var_23;
  type_7 *puStack_14c;
  type_6 *pCStack_148;
  type_4 aStack_144;
  type_7 auStack_140 [52];
  type_4 aStack_10c;
  type_4 aStack_104;
  type_4 aStack_100;
  type_10 *pcStack_fc;
  type_4 aStack_f0;
  type_4 aStack_ec;
  type_10 *var_18;
  int var_17;
  type_4 aStack_dc;
  type_5 *puStack_d8;
  type_4 aStack_d4;
  type_4 aStack_d0;
  type_4 aStack_cc;
  type_4 aStack_c8;
  type_10 *pcStack_c4;
  type_4 *paStack_b0;
  type_9 *var_10;
  type_4 aStack_a0;
  type_4 aStack_9c;
  int iStack_98;
  int var_11;
  char *pcStack_90;
  int var_12;
  type_8 cStack_84;
  type_4 aStack_80;
  type_5 uStack_7c;
  type_4 aStack_78;
  type_4 aStack_74;
  type_4 aStack_70;
  type_4 aStack_6c;
  type_2 *pcStack_68;
  type_3 cStack_64;
  ssize_t *psStack_60;
  type_5 uStack_5c;
  ssize_t *in_stack_ffffffc8;
  ssize_t var_3;
  type_5 *var_4;
  
  var_4 = *(type_5 **)PTR___stack_chk_guard_000b1fd4;
  var_7 = fd;
  aVar16 = (type_4)var_1;
  aVar5 = (type_4)var_1;
  if (var_1 != 0) {
    unaff_s4 = &var_3;
    unaff_s5 = 0x51;
    unaff_s1.whatever = to;
    do {
      var_7 = fd;
      to = unaff_s1.whatever;
      aVar16 = aVar5;
      in_stack_ffffffc8 = unaff_s4;
      var_1 = var_2(conn,fd,unaff_s1.whatever,aVar5.result,unaff_s4);
      unaff_s2 = conn;
      unaff_s3 = fd;
      if ((type_4 *)var_1 == (type_4 *)0x0) {
        unaff_s1.whatever = unaff_s1.whatever + var_3;
        aVar5.whatever = aVar5.whatever - var_3;
      }
      else if ((type_4 *)var_1 != (type_4 *)0x51)
      break;
      var_1 = (size_t)aVar5;
      aVar5 = (type_4)var_1;
    } while ((type_4 *)var_1 != (type_4 *)0x0);
  }
  if (var_4 == *(type_5 **)PTR___stack_chk_guard_000b1fd4) {
    return var_1;
  }
  var_6 = var_4;
  var_5 = PTR___stack_chk_fail_000b1c48;
  (*(type_10 *)PTR___stack_chk_fail_000b1c48)();
  var_10 = var_5 + 0x78154;
  aStack_74 = (type_4)
              (*(type_4 **)(var_5 + 0x71018))->result;
  aStack_a0 = *(type_4 *)(var_6 + var_7 + 0x66);
  *in_stack_ffffffc8 = 0;
  var_8 = var_6[0xb7];
  aVar17 = *(type_4 *)(var_6[0xbd] + 0x18);
  cVar20 = var_6[0xbc];
  aVar21 = (type_4)var_6[0xb5];
  aVar11 = aVar16;
  aStack_70 = aVar5;
  aStack_6c = unaff_s1;
  pcStack_68 = unaff_s2;
  cStack_64 = unaff_s3;
  psStack_60 = unaff_s4;
  uStack_5c = unaff_s5;
  aVar1.whatever = (void *)(**(type_10 **)(var_5 + 0x70618))(var_8);
  aVar5 = aVar21;
  var_9 = (*(type_10 *)aVar17)(cVar20);
  aVar14.whatever = (void *)(var_8 - var_9);
  if ((int)aVar14.whatever < 1) {
    aVar14 = aVar16;
  }
  var_14 = var_21;
  if ((type_4 *)aVar16.whatever != (type_4 *)0x0
     ) {
    iStack_98 = *(int *)(var_10 + -0x7fd4) + 0x6c84;
    var_11 = *(int *)(var_10 + -0x7fd4);
    aVar17.whatever = (void *)(*(int *)(var_10 + -0x7be0) + 0xed0);
    pcStack_90 = (char *)(*(int *)(var_10 + -0x7fd4) + 0x6c94);
    var_12 = *(int *)(var_10 + -0x7fd4);
    do {
      if (aVar16.whatever < aVar14.whatever) {
        aVar14 = aVar16;
      }
      aVar1.whatever = (void *)(**(type_10 **)(var_10 + -0x7b3c))(aVar14.whatever);
      aStack_80.whatever = (type_4 *)0x0;
      aStack_78.whatever = (void *)0x0;
      aVar25 = (type_4)var_6[0xb5];
      aVar21 = aVar25;
      if ((type_4 *)aVar25.whatever ==
          (type_4 *)&DAT_00000005) {
        var_9 = (**(type_10 **)(var_10 + -0x7588))(to,iStack_98,5);
        aVar21.result = var_31;
        if ((var_9 != 0) &&
           (var_9 = (**(type_10 **)(var_10 + -0x7588))(to,var_11 + 0x6c8c,5), var_9 != 0)) {
          aVar21 = (type_4)var_6[0xb4];
        }
      }
      paStack_b0 = &aStack_80;
      aVar5.whatever = to;
      aVar11 = aVar21;
      cVar20 = (**(type_10 **)(var_6[0xbd] + 0x1c))(var_6[0xbc]);
      aVar10 = aStack_a0;
      aStack_9c.whatever = aStack_80.whatever;
      if (((type_4 *)aStack_80.whatever !=
           (type_4 *)0x0) && (0 < (int)cVar20)) {
        if ((type_4 *)aVar25.whatever ==
            (type_4 *)&DAT_00000005) {
          uVar26 = *var_6;
          aVar1.whatever = (void *)(**(type_10 **)(var_10 + -0x7b38))(cVar20);
          paStack_b0 = &aStack_78;
          aVar11.whatever = &uStack_7c;
          aVar5 = aStack_9c;
          var_8 = (**(type_10 **)(var_10 + -0x7e58))(uVar26);
          var_9 = var_12;
          aVar25 = aStack_a0;
          if (var_8 != 0) {
            (*(type_10 *)**(type_5 **)(var_10 + -0x7fcc))(aStack_80.whatever);
            goto LAB_00041228;
          }
          puVar3 = *(type_5 **)(var_10 + -0x7fcc);
          if (aStack_78.whatever != (void *)0x0) {
            if ((type_4 *)aVar21.whatever ==
                (type_4 *)0x4) {
              var_9 = *(int *)(var_10 + -0x7fd4);
              (*(type_10 *)aVar17)(var_6,aStack_a0.whatever,var_9 + 0x6c7c,4);
              (*(type_10 *)aVar17)(var_6,aVar25.whatever,uStack_7c,aStack_78.whatever);
              (*(type_10 *)aVar17)(var_6,aVar25.whatever,*(int *)(var_10 + -0x7fd4) + 0x29c4,2);
              data = (type_6 *)*var_6;
              var_9 = var_9 + 0x6c7c;
            }
            else {
              (*(type_10 *)aVar17)(var_6,aStack_a0.whatever,var_12 + 0x6c74);
              (*(type_10 *)aVar17)(var_6,aVar25.whatever,uStack_7c,aStack_78.whatever);
              (*(type_10 *)aVar17)(var_6,aVar25.whatever,*(int *)(var_10 + -0x7fd4) + 0x29c4,2);
              data = (type_6 *)*var_6;
              var_9 = var_9 + 0x6c74;
            }
                    /* WARNING: Subroutine does not return */
            var_13(data,pcStack_90,var_9,uStack_7c);
          }
        }
        else {
          cStack_84 = cVar20;
          (*(type_10 *)aVar17)(var_6,aStack_a0.whatever,&cStack_84,4);
          aVar21 = aStack_80;
          aVar11.whatever = (void *)(**(type_10 **)(var_10 + -0x7b38))(cVar20);
          aVar1 = aVar21;
          (*(type_10 *)aVar17)(var_6);
          puVar3 = *(type_5 **)(var_10 + -0x7fcc);
          aVar5 = aVar10;
        }
        (*(type_10 *)*puVar3)(aStack_80.whatever);
      }
LAB_00041228:
      aVar16.whatever = aVar16.whatever - aVar14.whatever;
      to = (int)to + aVar14.whatever;
      var_14 = var_14 + aVar14.result;
    } while ((type_4 *)aVar16.whatever !=
             (type_4 *)0x0);
  }
  if ((type_4 *)aStack_74.whatever ==
      (type_4 *)**(type_5 **)(var_10 + -0x713c)) {
    return var_14;
  }
  var_15 = *(type_10 **)(var_10 + -0x74c8);
  pcVar27 = var_26;
  aVar25 = aStack_74;
  (*var_15)();
  var_18 = var_15 + 0x77d04;
  aStack_dc = (type_4)
              (*(type_4 **)(var_15 + 0x70bc8))->whatever;
  aVar10 = aVar1;
  bytesfromsocket = aVar1;
  aVar19.whatever = to;
  puStack_d8 = var_6;
  aStack_d4 = aVar14;
  aStack_d0 = aVar16;
  aStack_cc = aVar17;
  aStack_c8.whatever = to;
  pcStack_c4 = pcVar27;
  if ((type_4 *)aVar1.whatever != (type_4 *)0x0)
  {
    aVar17.whatever = &var_17;
    aVar19.result = CURLE_AGAIN;
    aVar14 = aVar5;
    do {
      aVar5 = aVar14;
      aVar10 = bytesfromsocket;
      aVar11.whatever = aVar17.whatever;
      aVar1.whatever =
           (void *)var_16(aVar25.result,aVar14.whatever,bytesfromsocket.result,
                                   aVar17.whatever);
      aVar16 = aVar25;
      if ((type_4 *)aVar1.whatever ==
          (type_4 *)0x0) {
        aVar14.whatever = aVar14.whatever + var_17;
        bytesfromsocket.whatever = bytesfromsocket.whatever - var_17;
      }
      else if ((type_4 *)aVar1.whatever !=
               (type_4 *)0x51) break;
      aVar1 = bytesfromsocket;
      bytesfromsocket = aVar1;
    } while ((type_4 *)aVar1.whatever !=
             (type_4 *)0x0);
  }
  if ((type_4 *)aStack_dc.whatever ==
      (type_4 *)**(int **)(var_18 + -0x713c)) {
    return (type_1)aVar1.whatever;
  }
  var_15 = *(type_10 **)(var_18 + -0x74c8);
  pcVar27 = ftp_send_command;
  aVar1 = aStack_dc;
  (*var_15)();
  var_23 = var_15 + 0x77c28;
  aStack_10c = (type_4)
               (*(type_4 **)(var_15 + 0x70aec))->whatever;
  pCStack_148 = (type_6 *)0x0;
  aVar25.whatever = &aStack_f0;
  aStack_144.whatever = aVar25.whatever;
  aStack_104 = bytesfromsocket;
  aStack_100 = aVar14;
  pcStack_fc = pcVar27;
  aStack_f0 = aVar10;
  aStack_ec = aVar11;
  (**(type_10 **)(var_15 + 0x70930))(auStack_140,0x32);
  aVar11.whatever = auStack_140;
  var_20 = var_19(aVar1.result,auStack_140);
  if (var_20 == var_21) {
    aVar5.whatever = &puStack_14c;
    aVar11 = aVar1;
    var_20 = var_22((ssize_t *)&pCStack_148,aVar1.result,aVar5.result);
    if (var_20 == var_21) goto LAB_00041574;
  }
  puStack_14c = &var_27;
LAB_00041574:
  if ((type_4 *)aStack_10c.whatever ==
      (type_4 *)**(int **)(var_23 + -0x713c)) {
    return (type_1)puStack_14c;
  }
  var_15 = *(type_10 **)(var_23 + -0x74c8);
  pcVar27 = sec_recv;
  aVar14 = aStack_10c;
  (*var_15)();
  var_30 = (int *)**(type_5 **)(var_15 + 0x70a00);
  aVar11.whatever =
       aVar14.whatever + (int)(aVar11.result + (var_24|var_25)) * 4;
                    /* WARNING: Load size is inaccurate */
  var_20 = *aVar11.whatever;
  *(type_5 *)var_23 = 0;
  aVar10.whatever = auStack_140;
  aStack_1c4 = aVar1;
  aStack_18c.whatever = auStack_140;
  aStack_188 = aVar1;
  aStack_184 = aVar16;
  aStack_180 = aVar17;
  aStack_17c = aVar19;
  cStack_178 = cVar20;
  aStack_174 = aVar21;
  CStack_170 = var_14;
  pcStack_16c = pcVar27;
  if ((((type_4 *)(aVar14.result + 0x2cc))->whatever == (void *)0x0) ||
     (aVar10 = aVar14,
     ((type_4 *)(aVar14.result + 0x2d4))->whatever == (void *)0x1)) {
    aVar21 = aVar25;
    aVar16.whatever = (void *)(**(type_10 **)(var_15 + 0x7042c))(var_20);
    aVar11 = aVar5;
    aVar14 = aVar10;
  }
  else if (((type_4 *)(aVar14.result + 0x2ec))->whatever == (void *)0x0) {
    aVar16.whatever =
         ((type_4 *)(aVar14.result + 0x2e4))->whatever -
         ((type_4 *)(aVar14.result + 0x2e8))->result;
    if (aVar25.whatever < aVar16.whatever) {
      aVar16 = aVar25;
    }
    aVar11.whatever =
         ((type_4 *)(aVar14.result + 0x2e0))->whatever +
         ((type_4 *)(aVar14.result + 0x2e8))->result;
    aVar21 = aVar16;
    (**(type_10 **)(var_15 + 0x7090c))(aVar5.whatever);
    ((type_4 *)(aVar14.result + 0x2e8))->whatever =
         (type_7 *)
         ((int)((type_4 *)(aVar14.result + 0x2e8))->whatever +
         (int)aVar16.whatever);
    aVar25.whatever = aVar25.whatever - aVar16.whatever;
    var_29 = (type_7 *)((int)aVar5.whatever + (int)aVar16.whatever);
    aStack_1c4 = aVar16;
    if ((type_4 *)aVar25.whatever !=
        (type_4 *)0x0) {
      aVar5 = aVar16;
      aVar1 = aVar16;
      do {
        aVar21.result = var_31;
        aVar11.whatever = &aStack_198;
        var_14 = var_26(var_20,&aStack_198,4);
        aStack_1c4 = aVar5;
        if ((var_14 != var_21) ||
           (aVar11 = aStack_198,
           (type_4 *)aStack_198.whatever ==
           (type_4 *)0x0)) {
LAB_0004180c:
          aVar16.result = (type_1)&var_27;
          break;
        }
        aVar17.whatever =
             var_28(((type_4 *)(aVar14.result + 0x2e0))->
                              whatever,aStack_198.result);
        ((type_4 *)(aVar14.result + 0x2e0))->whatever = (void *)aVar17;
        aVar21 = aStack_198;
        if (((type_4 *)aStack_198.whatever ==
             (type_4 *)0x0) ||
           ((type_4 *)aVar17.whatever ==
            (type_4 *)0x0)) goto LAB_0004180c;
        var_14 = var_26(var_20,aVar17.whatever,aStack_198.result);
        aVar16.result = (type_1)&var_27;
        aVar11 = aVar17;
        if (var_14 != var_21) break;
        aVar11 = (type_4)
                 ((type_4 *)(aVar14.result + 0x2e0))->whatever;
        aVar21 = aStack_198;
        aVar16.whatever =
             (void *)(*((type_11 *)
                       ((type_4 *)(aVar14.result + 0x2f4))->result)->
                       decode)(((type_4 *)(aVar14.result + 0x2f0))->
                               whatever,aVar11.whatever,aStack_198.result,
                               ((type_4 *)(aVar14.result + 0x2d4))->result
                               ,aVar14.whatever);
        ((type_4 *)(aVar14.result + 0x2e4))->whatever = (void *)aVar16;
        ((type_4 *)(aVar14.result + 0x2e8))->whatever = (void *)0x0;
        if ((type_4 *)aVar16.whatever ==
            (type_4 *)0x0) {
          aVar16 = aVar5;
          if ((type_4 *)aVar5.whatever !=
              (type_4 *)0x0) {
            ((type_4 *)(aVar14.result + 0x2ec))->result =
                 CURLE_UNSUPPORTED_PROTOCOL;
          }
          break;
        }
        aVar5.result = aVar16.result;
        if (aVar25.whatever < aVar16.whatever) {
          aVar5 = aVar25;
        }
        aVar11 = (type_4)
                 ((type_4 *)(aVar14.result + 0x2e0))->result;
        aVar21 = aVar5;
        (**(type_10 **)(var_15 + 0x7090c))(var_29);
        ((type_4 *)(aVar14.result + 0x2e8))->whatever =
             (type_7 *)
             ((int)((type_4 *)(aVar14.result + 0x2e8))->whatever +
             (int)aVar5.whatever);
        aVar25.whatever = aVar25.whatever - aVar5.whatever;
        aVar16.whatever = aVar1.whatever + aVar5.whatever;
        var_29 = var_29 + (int)aVar5.whatever;
        aStack_1c4 = aVar5;
        aVar1.whatever = aVar16.whatever;
      } while ((type_4 *)aVar25.whatever !=
               (type_4 *)0x0);
    }
  }
  else {
    ((type_4 *)(aVar14.result + 0x2ec))->whatever = (void *)0x0;
    aVar16.whatever = (type_4 *)0x0;
    aVar21 = aVar5;
  }
  if (var_30 == (int *)**(type_5 **)(var_15 + 0x70a00)) {
    return (type_1)aVar16.whatever;
  }
  var_15 = *(type_10 **)(var_15 + 0x70674);
  pcVar27 = Curl_sec_read_msg;
  piVar8 = var_30;
  (*var_15)();
  var_35 = **(int **)(var_15 + 0x70790);
  CStack_1d4 = var_21;
  var_32 = 0;
  aStack_1c8 = aVar14;
  aStack_1c0 = aVar25;
  pcStack_1bc = pcVar27;
  if (piVar8[0xbd] == 0) {
    var_14 = ~var_21;
  }
  else {
    aVar16.whatever = &aStack_1d8;
    var_9 = (**(type_10 **)(var_15 + 0x6fda0))
                      ((type_4 *)(aVar11.result + var_31),
                       aVar16.whatever,&var_32);
    if (var_9 == 0) {
      if (var_32 == 0) {
        var_14 = ~var_21;
        aVar11 = aVar16;
      }
      else if (var_32 < 0) {
        (*(type_10 *)**(type_5 **)(var_15 + 0x6f900))(aStack_1d8.whatever);
        var_14 = ~var_21;
        aVar11 = aVar16;
      }
      else {
        uVar26 = (**(type_10 **)(var_15 + 0x6fce0))();
        aVar16 = aStack_1d8;
        var_9 = (**(type_10 **)(piVar8[0xbd] + 0x20))
                          (piVar8[0xbc],aStack_1d8.whatever,uVar26,aVar21.whatever,piVar8);
        if (var_9 < 1) {
          (*(type_10 *)**(type_5 **)(var_15 + 0x6f900))(aStack_1d8.whatever);
          var_14 = ~var_21;
          aVar11 = aVar16;
        }
        else {
          if (*(char *)(*piVar8 + 0x958) != '\0') {
            *(type_7 *)((int)aStack_1d8.whatever + var_9) = 10;
            aVar16.result = CURLE_UNSUPPORTED_PROTOCOL;
            var_33((type_6 *)*piVar8,CURLINFO_HEADER_IN,(char *)aStack_1d8.whatever,var_9 + 1
                      );
          }
          *(type_7 *)((int)aStack_1d8.whatever + var_9) = 0;
          if (var_9 < 4) {
            var_14 = var_21;
            aVar11 = aVar16;
          }
          else {
            if (*(type_12 *)(aStack_1d8.result + var_34) != 0x2d) {
              (**(type_10 **)(var_15 + 0x70494))
                        (aStack_1d8.whatever,*(int *)(var_15 + 0x6f8f8) + 0x3a18,&CStack_1d4);
            }
            pcVar12 = (char *)((int)aStack_1d8.whatever + var_9 + -1);
            if (*pcVar12 == '\n') {
              *pcVar12 = '\0';
            }
            aVar16 = aStack_1d8;
            (**(type_10 **)(var_15 + 0x70108))(aVar11.whatever,aStack_1d8.whatever);
            (*(type_10 *)**(type_5 **)(var_15 + 0x6f900))(aStack_1d8.whatever);
            var_14 = CStack_1d4;
            aVar11 = aVar16;
          }
        }
      }
    }
    else {
      var_14 = ~var_21;
      aVar11 = aVar16;
    }
  }
  if (var_35 != **(int **)(var_15 + 0x70790)) {
    var_15 = *(type_10 **)(var_15 + 0x70404);
    var_9 = var_35;
    (*var_15)();
    var_36 = *(int *)(var_15 + 0x6f6b4) + 0x478;
    var_8 = 0;
    do {
      uVar26 = (**(type_10 **)(var_15 + 0x70424))(aVar11.whatever);
      var_37 = (**(type_10 **)(var_15 + 0x704b4))(aVar11.whatever,*(type_5 *)(var_36 + 4),uVar26);
      if (var_37 != 0) {
        var_8 = *(int *)(var_8 * 8 + *(int *)(var_15 + 0x6f6b4) + 0x478);
        if (var_8 != 0) {
          *(int *)(var_9 + 0x2d8) = var_8;
          return var_21;
        }
        return ~var_21;
      }
      var_8 = var_8 + 1;
      var_36 = var_36 + 8;
    } while (var_8 != 4);
    return ~var_21;
  }
  return var_14;
}


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

/* WARNING: Type propagation algorithm not settling */

code ******* MASKED(undefined4 param_1,int param_2,code *******param_3,code *******param_4)

{
  code *******pppppppcVar1;
  int iVar2;
  code *******pppppppcVar3;
  undefined4 *puVar4;
  int iVar5;
  undefined4 *puVar6;
  int *piVar7;
  code *******pppppppcVar8;
  code *******pppppppcVar9;
  code *******pppppppcVar10;
  code *******unaff_s1;
  int iVar11;
  code *******pppppppcVar12;
  int iVar13;
  undefined4 unaff_s2;
  code *******pppppppcVar14;
  int unaff_s3;
  code *******pppppppcVar15;
  int *unaff_s4;
  undefined4 unaff_s5;
  code *******pppppppcVar16;
  code ******ppppppcVar17;
  code *******pppppppcVar18;
  code *******pppppppcVar19;
  undefined *puVar20;
  code *pcVar21;
  code *******pppppppcVar22;
  undefined4 uVar23;
  code *pcVar24;
  code *******pppppppcStack_1d8;
  code *******pppppppcStack_1d4;
  int iStack_1d0;
  int iStack_1cc;
  code *******pppppppcStack_1c8;
  code *******pppppppcStack_1c4;
  code *******pppppppcStack_1c0;
  code *pcStack_1bc;
  code *******pppppppcStack_1a8;
  code *pcStack_1a0;
  code *******pppppppcStack_198;
  int *piStack_194;
  code *******pppppppcStack_18c;
  code *******pppppppcStack_188;
  code *******pppppppcStack_184;
  code *******pppppppcStack_180;
  code *******pppppppcStack_17c;
  code *******pppppppcStack_178;
  code *******pppppppcStack_174;
  code *******pppppppcStack_170;
  undefined4 uStack_16c;
  code *pcStack_158;
  code *******pppppppcStack_14c;
  undefined4 uStack_148;
  code *******pppppppcStack_144;
  code ******appppppcStack_140 [13];
  code *******pppppppcStack_10c;
  code *******pppppppcStack_104;
  code *******pppppppcStack_100;
  code *pcStack_fc;
  code *******pppppppcStack_f0;
  code *******pppppppcStack_ec;
  code *pcStack_e8;
  code ******ppppppcStack_e0;
  code *******pppppppcStack_dc;
  undefined4 *puStack_d8;
  code *******pppppppcStack_d4;
  code *******pppppppcStack_d0;
  code *******pppppppcStack_cc;
  code *******pppppppcStack_c8;
  code *pcStack_c4;
  code *******local_b0;
  undefined *local_a8;
  code *******local_a0;
  code *******local_9c;
  int local_98;
  int local_94;
  code *******local_90;
  code *******local_8c;
  code *******local_84;
  code *******local_80;
  code *******local_7c;
  code ******local_78;
  code *******local_74;
  code *******local_70;
  code *******local_6c;
  undefined4 local_68;
  int local_64;
  int *local_60;
  undefined4 local_5c;
  int *local_38;
  int local_28;
  undefined4 *local_24;
  
  local_24 = *(undefined4 **)PTR___stack_chk_guard_000b1fd4;
  iVar2 = param_2;
  pppppppcVar14 = param_4;
  pppppppcVar9 = param_4;
  if (param_4 != (code *******)0x0) {
    unaff_s4 = &local_28;
    unaff_s5 = 0x51;
    unaff_s1 = param_3;
    do {
      iVar2 = param_2;
      param_3 = unaff_s1;
      pppppppcVar14 = pppppppcVar9;
      param_4 = (code *******)FUN_000277f4(param_1);
      unaff_s2 = param_1;
      unaff_s3 = param_2;
      local_38 = unaff_s4;
      if (param_4 == (code *******)0x0) {
        unaff_s1 = (code *******)((int)unaff_s1 + local_28);
        pppppppcVar9 = (code *******)((int)pppppppcVar9 - local_28);
      }
      else if (param_4 != (code *******)0x51) break;
      param_4 = pppppppcVar9;
      pppppppcVar9 = param_4;
    } while (param_4 != (code *******)0x0);
  }
  if (local_24 == *(undefined4 **)PTR___stack_chk_guard_000b1fd4) {
    return param_4;
  }
  puVar6 = local_24;
  puVar20 = PTR___stack_chk_fail_000b1c48;
  (*(code *)PTR___stack_chk_fail_000b1c48)();
  local_a8 = puVar20 + 0x78154;
  local_74 = (code *******)**(undefined4 **)(puVar20 + 0x71018);
  local_a0 = (code *******)puVar6[iVar2 + 0x66];
  *local_38 = 0;
  iVar11 = puVar6[0xb7];
  pppppppcVar15 = *(code ********)(puVar6[0xbd] + 0x18);
  pppppppcVar16 = (code *******)puVar6[0xbc];
  pppppppcVar18 = (code *******)puVar6[0xb5];
  pppppppcVar3 = pppppppcVar14;
  local_70 = pppppppcVar9;
  local_6c = unaff_s1;
  local_68 = unaff_s2;
  local_64 = unaff_s3;
  local_60 = unaff_s4;
  local_5c = unaff_s5;
  pppppppcVar1 = (code *******)(**(code **)(puVar20 + 0x70618))(iVar11);
  pppppppcVar9 = pppppppcVar18;
  iVar2 = (*(code *)pppppppcVar15)(pppppppcVar16);
  pppppppcVar12 = (code *******)(iVar11 - iVar2);
  if ((int)pppppppcVar12 < 1) {
    pppppppcVar12 = pppppppcVar14;
  }
  pppppppcVar19 = (code *******)0x0;
  if (pppppppcVar14 != (code *******)0x0) {
    local_98 = *(int *)(local_a8 + -0x7fd4) + 0x6c84;
    local_94 = *(int *)(local_a8 + -0x7fd4);
    pppppppcVar15 = (code *******)(*(int *)(local_a8 + -0x7be0) + 0xed0);
    local_90 = (code *******)(*(int *)(local_a8 + -0x7fd4) + 0x6c94);
    local_8c = *(code ********)(local_a8 + -0x7fd4);
    do {
      if (pppppppcVar14 < pppppppcVar12) {
        pppppppcVar12 = pppppppcVar14;
      }
      pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b3c))(pppppppcVar12);
      local_80 = (code *******)0x0;
      local_78 = (code ******)0x0;
      pppppppcVar22 = (code *******)puVar6[0xb5];
      pppppppcVar18 = pppppppcVar22;
      if (pppppppcVar22 == (code *******)&DAT_00000005) {
        iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_98,5);
        pppppppcVar18 = (code *******)0x4;
        if ((iVar2 != 0) &&
           (iVar2 = (**(code **)(local_a8 + -0x7588))(param_3,local_94 + 0x6c8c,5), iVar2 != 0)) {
          pppppppcVar18 = (code *******)puVar6[0xb4];
        }
      }
      local_b0 = (code *******)&local_80;
      pppppppcVar9 = param_3;
      pppppppcVar3 = pppppppcVar18;
      pppppppcVar16 = (code *******)(**(code **)(puVar6[0xbd] + 0x1c))(puVar6[0xbc]);
      pppppppcVar8 = local_a0;
      local_9c = local_80;
      if ((local_80 != (code *******)0x0) && (0 < (int)pppppppcVar16)) {
        if (pppppppcVar22 == (code *******)&DAT_00000005) {
          uVar23 = *puVar6;
          pppppppcVar1 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);
          local_b0 = &local_78;
          pppppppcVar3 = (code *******)&local_7c;
          pppppppcVar8 = local_9c;
          iVar2 = (**(code **)(local_a8 + -0x7e58))(uVar23);
          pppppppcVar22 = local_8c;
          pppppppcVar9 = local_a0;
          if (iVar2 != 0) {
            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_80);
            pppppppcVar9 = pppppppcVar8;
            goto LAB_00041228;
          }
          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);
          if (local_78 != (code ******)0x0) {
            if (pppppppcVar18 == (code *******)0x4) {
              pppppppcVar16 = *(code ********)(local_a8 + -0x7fd4);
              (*(code *)pppppppcVar15)(puVar6,local_a0,pppppppcVar16 + 0x1b1f,4);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);
              uVar23 = *puVar6;
              pppppppcVar1 = pppppppcVar16 + 0x1b1f;
            }
            else {
              (*(code *)pppppppcVar15)(puVar6,local_a0,local_8c + 0x1b1d);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,local_7c,local_78);
              (*(code *)pppppppcVar15)(puVar6,pppppppcVar9,*(int *)(local_a8 + -0x7fd4) + 0x29c4,2);
              uVar23 = *puVar6;
              pppppppcVar1 = pppppppcVar22 + 0x1b1d;
              pppppppcVar16 = pppppppcVar9;
              pppppppcVar9 = pppppppcVar22;
            }
            pppppppcVar8 = local_90;
            pppppppcVar3 = local_7c;
            FUN_00027444(uVar23);
            (*(code *)**(undefined4 **)(local_a8 + -0x7fcc))(local_7c);
            puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);
            pppppppcVar18 = pppppppcVar9;
          }
        }
        else {
          local_84 = pppppppcVar16;
          (*(code *)pppppppcVar15)(puVar6,local_a0,&local_84,4);
          pppppppcVar18 = local_80;
          pppppppcVar3 = (code *******)(**(code **)(local_a8 + -0x7b38))(pppppppcVar16);
          pppppppcVar1 = pppppppcVar18;
          (*(code *)pppppppcVar15)(puVar6);
          puVar4 = *(undefined4 **)(local_a8 + -0x7fcc);
        }
        (*(code *)*puVar4)(local_80);
        pppppppcVar9 = pppppppcVar8;
      }
LAB_00041228:
      pppppppcVar14 = (code *******)((int)pppppppcVar14 - (int)pppppppcVar12);
      param_3 = (code *******)((int)param_3 + (int)pppppppcVar12);
      pppppppcVar19 = (code *******)((int)pppppppcVar19 + (int)pppppppcVar12);
    } while (pppppppcVar14 != (code *******)0x0);
  }
  if (local_74 == (code *******)**(undefined4 **)(local_a8 + -0x713c)) {
    return pppppppcVar19;
  }
  pcVar21 = *(code **)(local_a8 + -0x74c8);
  pcVar24 = FUN_0004140c;
  pppppppcVar22 = local_74;
  (*pcVar21)();
  pcStack_e8 = pcVar21 + 0x77d04;
  pppppppcStack_dc = (code *******)**(undefined4 **)(pcVar21 + 0x70bc8);
  pppppppcVar8 = pppppppcVar1;
  pppppppcVar10 = pppppppcVar1;
  puStack_d8 = puVar6;
  pppppppcStack_d4 = pppppppcVar12;
  pppppppcStack_d0 = pppppppcVar14;
  pppppppcStack_cc = pppppppcVar15;
  pppppppcStack_c8 = param_3;
  pcStack_c4 = pcVar24;
  if (pppppppcVar1 != (code *******)0x0) {
    pppppppcVar15 = &ppppppcStack_e0;
    param_3 = (code *******)0x51;
    pppppppcVar12 = pppppppcVar9;
    do {
      pppppppcVar9 = pppppppcVar12;
      pppppppcVar8 = pppppppcVar10;
      pppppppcVar3 = pppppppcVar15;
      pppppppcVar1 = (code *******)FUN_00027084(pppppppcVar22);
      pppppppcVar14 = pppppppcVar22;
      if (pppppppcVar1 == (code *******)0x0) {
        pppppppcVar12 = (code *******)((int)pppppppcVar12 + (int)ppppppcStack_e0);
        pppppppcVar10 = (code *******)((int)pppppppcVar10 - (int)ppppppcStack_e0);
      }
      else if (pppppppcVar1 != (code *******)0x51) break;
      pppppppcVar1 = pppppppcVar10;
      pppppppcVar10 = pppppppcVar1;
    } while (pppppppcVar1 != (code *******)0x0);
  }
  if (pppppppcStack_dc == (code *******)**(undefined4 **)(pcStack_e8 + -0x713c)) {
    return pppppppcVar1;
  }
  pcVar21 = *(code **)(pcStack_e8 + -0x74c8);
  pcVar24 = FUN_000414e8;
  pppppppcVar1 = pppppppcStack_dc;
  (*pcVar21)();
  pcStack_158 = pcVar21 + 0x77c28;
  pppppppcStack_10c = (code *******)**(undefined4 **)(pcVar21 + 0x70aec);
  uStack_148 = 0;
  pppppppcVar22 = (code *******)&pppppppcStack_f0;
  pppppppcStack_144 = pppppppcVar22;
  pppppppcStack_104 = pppppppcVar10;
  pppppppcStack_100 = pppppppcVar12;
  pcStack_fc = pcVar24;
  pppppppcStack_f0 = pppppppcVar8;
  pppppppcStack_ec = pppppppcVar3;
  (**(code **)(pcVar21 + 0x70930))(appppppcStack_140,0x32);
  pppppppcVar3 = appppppcStack_140;
  iVar2 = FUN_0002f228(pppppppcVar1);
  if (iVar2 == 0) {
    pppppppcVar9 = (code *******)&pppppppcStack_14c;
    pppppppcVar3 = pppppppcVar1;
    iVar2 = FUN_0002c44c(&uStack_148);
    if (iVar2 == 0) goto LAB_00041574;
  }
  pppppppcStack_14c = (code *******)0xffffffff;
LAB_00041574:
  if (pppppppcStack_10c == (code *******)**(undefined4 **)(pcStack_158 + -0x713c)) {
    return pppppppcStack_14c;
  }
  pcVar21 = *(code **)(pcStack_158 + -0x74c8);
  uVar23 = 0x415d4;
  pppppppcVar12 = pppppppcStack_10c;
  (*pcVar21)();
  pcStack_1a0 = pcVar21 + 0x77b3c;
  piStack_194 = (int *)**(undefined4 **)(pcVar21 + 0x70a00);
  ppppppcVar17 = pppppppcVar12[(int)((int)pppppppcVar3 + 0x66)];
  *(undefined4 *)pcStack_158 = 0;
  pppppppcVar8 = appppppcStack_140;
  pppppppcStack_1c4 = pppppppcVar1;
  pppppppcStack_18c = appppppcStack_140;
  pppppppcStack_188 = pppppppcVar1;
  pppppppcStack_184 = pppppppcVar14;
  pppppppcStack_180 = pppppppcVar15;
  pppppppcStack_17c = param_3;
  pppppppcStack_178 = pppppppcVar16;
  pppppppcStack_174 = pppppppcVar18;
  pppppppcStack_170 = pppppppcVar19;
  uStack_16c = uVar23;
  if ((pppppppcVar12[0xb3] == (code ******)0x0) ||
     (pppppppcVar8 = pppppppcVar12, pppppppcVar12[0xb5] == (code ******)0x1)) {
    pppppppcVar1 = pppppppcVar22;
    pppppppcVar14 = (code *******)(**(code **)(pcVar21 + 0x7042c))(ppppppcVar17);
    pppppppcVar18 = pppppppcVar9;
    pppppppcVar12 = pppppppcVar8;
  }
  else if (pppppppcVar12[0xbb] == (code ******)0x0) {
    pppppppcVar14 = (code *******)((int)pppppppcVar12[0xb9] - (int)pppppppcVar12[0xba]);
    if (pppppppcVar22 < pppppppcVar14) {
      pppppppcVar14 = pppppppcVar22;
    }
    pppppppcVar18 = (code *******)((int)pppppppcVar12[0xb8] + (int)pppppppcVar12[0xba]);
    pppppppcVar1 = pppppppcVar14;
    (**(code **)(pcVar21 + 0x7090c))(pppppppcVar9);
    pppppppcVar12[0xba] = (code ******)((int)pppppppcVar14 + (int)pppppppcVar12[0xba]);
    pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar14);
    pcVar21 = (code *)((int)pppppppcVar9 + (int)pppppppcVar14);
    pppppppcStack_1c4 = pppppppcVar14;
    if (pppppppcVar22 != (code *******)0x0) {
      pppppppcVar9 = pppppppcVar14;
      pppppppcVar3 = pppppppcVar14;
      do {
        pppppppcVar1 = (code *******)0x4;
        pppppppcVar18 = (code *******)&pppppppcStack_198;
        iVar2 = FUN_0004140c(ppppppcVar17);
        pppppppcStack_1c4 = pppppppcVar9;
        if ((iVar2 != 0) ||
           (pppppppcVar18 = pppppppcStack_198, pppppppcStack_198 == (code *******)0x0)) {
LAB_0004180c:
          pppppppcVar14 = (code *******)0xffffffff;
          break;
        }
        pppppppcVar15 = (code *******)FUN_00053634(pppppppcVar12[0xb8]);
        pppppppcVar12[0xb8] = (code ******)pppppppcVar15;
        pppppppcVar1 = pppppppcStack_198;
        if ((pppppppcStack_198 == (code *******)0x0) || (pppppppcVar15 == (code *******)0x0))
        goto LAB_0004180c;
        iVar2 = FUN_0004140c(ppppppcVar17);
        pppppppcVar14 = (code *******)0xffffffff;
        pppppppcVar18 = pppppppcVar15;
        if (iVar2 != 0) break;
        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];
        pppppppcVar1 = pppppppcStack_198;
        pppppppcStack_1a8 = pppppppcVar12;
        pppppppcVar14 =
             (code *******)
             (*(code *)pppppppcVar12[0xbd][8])
                       (pppppppcVar12[0xbc],pppppppcVar18,pppppppcStack_198,pppppppcVar12[0xb5]);
        pppppppcVar12[0xb9] = (code ******)pppppppcVar14;
        pppppppcVar12[0xba] = (code ******)0x0;
        if (pppppppcVar14 == (code *******)0x0) {
          pppppppcVar14 = pppppppcVar9;
          if (pppppppcVar9 != (code *******)0x0) {
            pppppppcVar12[0xbb] = (code ******)0x1;
          }
          break;
        }
        pppppppcVar9 = pppppppcVar14;
        if (pppppppcVar22 < pppppppcVar14) {
          pppppppcVar9 = pppppppcVar22;
        }
        pppppppcVar18 = (code *******)pppppppcVar12[0xb8];
        pppppppcVar1 = pppppppcVar9;
        (**(code **)(pcStack_1a0 + -0x7230))(pcVar21);
        pppppppcVar12[0xba] = (code ******)((int)pppppppcVar9 + (int)pppppppcVar12[0xba]);
        pppppppcVar22 = (code *******)((int)pppppppcVar22 - (int)pppppppcVar9);
        pppppppcVar14 = (code *******)((int)pppppppcVar3 + (int)pppppppcVar9);
        pcVar21 = pcVar21 + (int)pppppppcVar9;
        pppppppcStack_1c4 = pppppppcVar9;
        pppppppcVar3 = pppppppcVar14;
      } while (pppppppcVar22 != (code *******)0x0);
    }
  }
  else {
    pppppppcVar12[0xbb] = (code ******)0x0;
    pppppppcVar14 = (code *******)0x0;
    pppppppcVar18 = pppppppcVar12 + (int)((int)pppppppcVar3 + 0x66);
    pppppppcVar1 = pppppppcVar9;
  }
  if (piStack_194 == (int *)**(undefined4 **)(pcStack_1a0 + -0x713c)) {
    return pppppppcVar14;
  }
  pcVar21 = *(code **)(pcStack_1a0 + -0x74c8);
  pcVar24 = FUN_00041844;
  piVar7 = piStack_194;
  (*pcVar21)();
  iStack_1cc = **(int **)(pcVar21 + 0x70790);
  pppppppcStack_1d4 = (code *******)0x0;
  iStack_1d0 = 0;
  pppppppcStack_1c8 = pppppppcVar12;
  pppppppcStack_1c0 = pppppppcVar22;
  pcStack_1bc = pcVar24;
  if (piVar7[0xbd] == 0) {
    pppppppcVar14 = (code *******)0xffffffff;
  }
  else {
    pppppppcVar9 = (code *******)&pppppppcStack_1d8;
    iVar2 = (**(code **)(pcVar21 + 0x6fda0))(pppppppcVar18 + 1,pppppppcVar9,&iStack_1d0);
    if (iVar2 == 0) {
      if (iStack_1d0 == 0) {
        pppppppcVar14 = (code *******)0xffffffff;
        pppppppcVar18 = pppppppcVar9;
      }
      else if (iStack_1d0 < 0) {
        (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);
        pppppppcVar14 = (code *******)0xffffffff;
        pppppppcVar18 = pppppppcVar9;
      }
      else {
        uVar23 = (**(code **)(pcVar21 + 0x6fce0))();
        pppppppcVar9 = pppppppcStack_1d8;
        iVar2 = (**(code **)(piVar7[0xbd] + 0x20))
                          (piVar7[0xbc],pppppppcStack_1d8,uVar23,pppppppcVar1,piVar7);
        if (iVar2 < 1) {
          (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);
          pppppppcVar14 = (code *******)0xffffffff;
          pppppppcVar18 = pppppppcVar9;
        }
        else {
          if (*(char *)(*piVar7 + 0x958) != '\0') {
            *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0xa;
            pppppppcVar9 = (code *******)0x1;
            FUN_00027324(*piVar7,1,pppppppcStack_1d8,iVar2 + 1);
          }
          *(code *)((int)pppppppcStack_1d8 + iVar2) = (code)0x0;
          if (iVar2 < 4) {
            pppppppcVar14 = (code *******)0x0;
            pppppppcVar18 = pppppppcVar9;
          }
          else {
            if (*(code *)((int)pppppppcStack_1d8 + 3) != (code)0x2d) {
              (**(code **)(pcVar21 + 0x70494))
                        (pppppppcStack_1d8,*(int *)(pcVar21 + 0x6f8f8) + 0x3a18,&pppppppcStack_1d4);
            }
            pcVar24 = (code *)((int)pppppppcStack_1d8 + iVar2 + -1);
            if (*pcVar24 == (code)0xa) {
              *pcVar24 = (code)0x0;
            }
            pppppppcVar9 = pppppppcStack_1d8;
            (**(code **)(pcVar21 + 0x70108))(pppppppcVar18,pppppppcStack_1d8);
            (*(code *)**(undefined4 **)(pcVar21 + 0x6f900))(pppppppcStack_1d8);
            pppppppcVar14 = pppppppcStack_1d4;
            pppppppcVar18 = pppppppcVar9;
          }
        }
      }
    }
    else {
      pppppppcVar14 = (code *******)0xffffffff;
      pppppppcVar18 = pppppppcVar9;
    }
  }
  if (iStack_1cc != **(int **)(pcVar21 + 0x70790)) {
    pcVar21 = *(code **)(pcVar21 + 0x70404);
    iVar2 = iStack_1cc;
    (*pcVar21)();
    iVar13 = *(int *)(pcVar21 + 0x6f6b4) + 0x478;
    iVar11 = 0;
    do {
      uVar23 = (**(code **)(pcVar21 + 0x70424))(pppppppcVar18);
      iVar5 = (**(code **)(pcVar21 + 0x704b4))(pppppppcVar18,*(undefined4 *)(iVar13 + 4),uVar23);
      if (iVar5 != 0) {
        iVar11 = *(int *)(iVar11 * 8 + *(int *)(pcVar21 + 0x6f6b4) + 0x478);
        if (iVar11 != 0) {
          *(int *)(iVar2 + 0x2d8) = iVar11;
          return (code *******)0x0;
        }
        return (code *******)0xffffffff;
      }
      iVar11 = iVar11 + 1;
      iVar13 = iVar13 + 8;
    } while (iVar11 != 4);
    return (code *******)0xffffffff;
  }
  return pppppppcVar14;
}

