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

CURLcode ldap_connecting(connectdata *conn,_Bool *done)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  Curl_send *pCVar4;
  undefined4 *puVar5;
  int iVar6;
  LDAPMessage *pLVar7;
  uint uVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  CURLcode CVar13;
  uint *puVar14;
  Curl_recv *pCVar15;
  undefined4 *puVar16;
  int *piVar17;
  undefined4 uVar18;
  char *pcVar19;
  byte *pbVar20;
  int iVar21;
  uint uVar22;
  tftp_state_data *ptVar23;
  Sockbuf **unaff_s1;
  int iVar24;
  int *piVar25;
  undefined4 *puVar26;
  Curl_easy *pCVar27;
  int iVar28;
  int iVar29;
  int iVar30;
  undefined *puVar31;
  code *pcVar32;
  int iVar33;
  int iStack_c0;
  undefined4 uStack_bc;
  int iStack_b8;
  undefined4 uStack_b4;
  int aiStack_b0 [5];
  int *piStack_9c;
  tftp_state_data *ptStack_98;
  Sockbuf **ppSStack_94;
  connectdata *pcStack_90;
  undefined *puStack_8c;
  Curl_easy *pCStack_88;
  _Bool *p_Stack_84;
  LDAPMessage **ppLStack_60;
  LDAPMessage *msg;
  int err;
  char *info;
  timeval tv;
  Sockbuf *sb;
  char *pcStack_28;
  int *local_24;
  
  puVar2 = PTR___stack_chk_guard_000a6fe0;
  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;
  msg = (LDAPMessage *)0x0;
  tv.tv_sec = 0;
  tv.tv_usec = 1;
  info = (char *)0x0;
  ptVar23 = (conn->proto).tftpc;
  pCVar27 = conn->data;
  if ((conn->handler->flags & 1) == 0) {
LAB_0005f820:
    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {
LAB_0005f900:
      unaff_s1 = &sb;
      pcVar19 = (char *)0x0;
      if ((conn->bits).user_passwd == false) {
        pcStack_28 = (char *)0x0;
        sb = (Sockbuf *)0x0;
      }
      else {
        pcStack_28 = conn->passwd;
        pcVar19 = conn->user;
        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);
      }
      ppLStack_60 = (LDAPMessage **)0x0;
      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);
      if (iVar3 == 0) {
        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;
        CVar13 = CURLE_OK;
      }
      else {
LAB_0005fa84:
        CVar13 = CURLE_LDAP_CANNOT_BIND;
      }
    }
    else {
      ppLStack_60 = &msg;
      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);
      if (iVar3 < 0) {
        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);
        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);
        goto LAB_0005fa84;
      }
      if (iVar3 == 0) goto LAB_0005f9f4;
      ppLStack_60 = (LDAPMessage **)&info;
      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);
      if (iVar3 != 0) {
        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);
        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);
        CVar13 = CURLE_LDAP_CANNOT_BIND;
        goto LAB_0005f9a4;
      }
      if (err == 2) {
        unaff_s1 = &sb;
        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);
        if (sb == (Sockbuf *)0x3) {
          if (info != (char *)0x0) {
            (*(code *)PTR_ldap_memfree_000a6b54)();
            info = (char *)0x0;
          }
          sb = (Sockbuf *)0x2;
          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);
          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;
          goto LAB_0005f900;
        }
      }
      if (err == 0) {
        if (info != (char *)0x0) {
          (*(code *)PTR_ldap_memfree_000a6b54)();
        }
        CVar13 = CURLE_OK;
        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);
        *done = true;
      }
      else {
        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);
        pcVar19 = info;
        if (info == (char *)0x0) {
          pcVar19 = PTR_UINT_000a6194 + 0x3538;
        }
        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);
        if (info == (char *)0x0) {
          CVar13 = CURLE_LOGIN_DENIED;
        }
        else {
          (*(code *)PTR_ldap_memfree_000a6b54)();
          CVar13 = CURLE_LOGIN_DENIED;
        }
      }
    }
  }
  else {
    if (*(char *)&ptVar23->sockfd != '\0') {
LAB_0005f814:
      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {
        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);
        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);
        pCVar15 = conn->recv[0];
        pCVar4 = conn->send[0];
        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;
        ptVar23->mode = (tftp_mode_t)pCVar15;
        ptVar23->error = (tftp_error_t)pCVar4;
      }
      goto LAB_0005f820;
    }
    CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);
    if (CVar13 == CURLE_OK) {
      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;
LAB_0005f9f4:
      CVar13 = CURLE_OK;
    }
  }
LAB_0005f9a4:
  if (local_24 == *(int **)puVar2) {
    return CVar13;
  }
  piVar17 = local_24;
  puVar31 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  puVar5 = *(undefined4 **)(puVar31 + 0x474a4);
  puStack_8c = puVar2;
  iVar33 = *piVar17;
  piStack_9c = (int *)*puVar5;
  puVar26 = (undefined4 *)piVar17[300];
  puVar16 = *(undefined4 **)(iVar33 + 0x154);
  aiStack_b0[2] = 1;
  iStack_c0 = 0;
  uStack_bc = 0;
  aiStack_b0[1] = 0;
  ptStack_98 = ptVar23;
  ppSStack_94 = unaff_s1;
  pcStack_90 = conn;
  pCStack_88 = pCVar27;
  p_Stack_84 = done;
  iVar3 = (**(code **)(puVar31 + 0x47158))(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0);
  if (iVar3 < 0) {
    CVar13 = ~CURLE_OK;
    uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);
    (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18);
    *ppLStack_60 = (LDAPMessage *)0x38;
    goto LAB_0005ff9c;
  }
  *ppLStack_60 = (LDAPMessage *)0x51;
  if (iStack_c0 != 0) {
    iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26);
    if (iVar3 != 0) {
      iVar29 = *(int *)(puVar31 + 0x46658);
      iVar30 = *(int *)(puVar31 + 0x46658);
      iVar28 = *(int *)(puVar31 + 0x46658);
      do {
        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);
        if (iVar6 == 0x65) {
          aiStack_b0[3] = 0;
          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)
          ;
          if (iVar3 == 0) {
            if (aiStack_b0[0] != 0) {
              if (aiStack_b0[0] != 4) {
                uVar18 = (**(code **)(puVar31 + 0x47170))(0);
                uVar8 = aiStack_b0[3];
                if (aiStack_b0[3] == 0) {
                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;
                }
                (**(code **)(puVar31 + 0x46610))
                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);
                goto LAB_00060368;
              }
              (**(code **)(puVar31 + 0x46670))
                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);
            }
            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);
            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);
            *ppLStack_60 = (LDAPMessage *)0x0;
            CVar13 = CURLE_OK;
          }
          else {
            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);
            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);
LAB_00060368:
            CVar13 = ~CURLE_OK;
            *ppLStack_60 = (LDAPMessage *)0x27;
          }
          pcVar32 = *(code **)(puVar31 + 0x47018);
          *puVar16 = 0;
          (*pcVar32)(aiStack_b0[3]);
          goto LAB_0006023c;
        }
        uVar18 = *puVar26;
        if (iVar6 == 100) {
          piVar25 = aiStack_b0 + 3;
          pcVar32 = *(code **)(puVar31 + 0x472b8);
          puVar16[1] = puVar16[1] + 1;
          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);
          if (iVar6 < 0) {
            *ppLStack_60 = (LDAPMessage *)0x38;
            goto LAB_0005ff98;
          }
          pLVar7 = (LDAPMessage *)
                   (**(code **)(puVar31 + 0x46618))
                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);
          if ((pLVar7 != (LDAPMessage *)0x0) ||
             (pLVar7 = (LDAPMessage *)
                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),
             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;
          iVar6 = *(int *)(puVar31 + 0x46658);
          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);
          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;
          uVar8 = *(uint *)(iVar33 + 0xbc);
          uVar18 = *puVar26;
          pcVar32 = *(code **)(puVar31 + 0x46f38);
          uVar22 = uVar8 + aiStack_b0[3] + 5U;
          *(uint *)(iVar33 + 0xbc) = uVar22;
          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);
          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);
          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))
          goto LAB_000600a8;
          iVar10 = *(int *)(puVar31 + 0x46658);
          goto LAB_0005fd74;
        }
        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);
      } while (iVar3 != 0);
    }
    CVar13 = ~CURLE_OK;
LAB_0006023c:
    (**(code **)(puVar31 + 0x4725c))(iStack_c0);
    goto LAB_0005ff9c;
  }
  goto LAB_0005ff98;
  while ((iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),
         iVar11 == 0 && (aiStack_b0[4] != 0))) {
LAB_0005fd74:
    if ((uint)aiStack_b0[3] < 8) {
      bVar1 = false;
      if (iStack_b8 != 0) goto LAB_0005fda8;
LAB_0005ffec:
      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);
      if (((pLVar7 != (LDAPMessage *)0x0) ||
          (pLVar7 = (LDAPMessage *)
                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),
          pLVar7 != (LDAPMessage *)0x0)) ||
         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),
         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;
      uVar8 = *(uint *)(iVar33 + 0xbc);
      uVar22 = uVar8 + aiStack_b0[3] + 3U;
      *(uint *)(iVar33 + 0xbc) = uVar22;
      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);
    }
    else {
      iVar11 = (**(code **)(puVar31 + 0x47058))
                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);
      bVar1 = iVar11 == 0;
      if (iStack_b8 == 0) goto LAB_0005ffec;
LAB_0005fda8:
      iVar11 = *(int *)(puVar31 + 0x46658);
      if (*(int *)(iStack_b8 + 4) != 0) {
        iVar24 = 0;
        do {
          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);
          if ((pLVar7 != (LDAPMessage *)0x0) ||
             (pLVar7 = (LDAPMessage *)
                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),
             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;
          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);
          if (pLVar7 != (LDAPMessage *)0x0) {
            *ppLStack_60 = pLVar7;
            goto LAB_0005ff98;
          }
          uVar8 = *(uint *)(iVar33 + 0xbc);
          uVar22 = uVar8 + aiStack_b0[3] + 2U;
          *(uint *)(iVar33 + 0xbc) = uVar22;
          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];
          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);
          if (bVar1) {
            uStack_b4 = 0;
            aiStack_b0[0] = 0;
            pLVar7 = (LDAPMessage *)
                     (**(code **)(puVar31 + 0x4677c))
                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,
                                aiStack_b0);
            if (pLVar7 != (LDAPMessage *)0x0) {
              (**(code **)(puVar31 + 0x47028))(iStack_b8);
              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);
              (**(code **)(puVar31 + 0x4725c))(iStack_c0);
              *ppLStack_60 = pLVar7;
              goto LAB_0005ff98;
            }
            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);
            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;
            uVar8 = *(uint *)(iVar33 + 0xbc);
            uVar22 = uVar8 + 2;
            *(uint *)(iVar33 + 0xbc) = uVar22;
            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);
            if (aiStack_b0[0] != 0) {
              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);
              if (pLVar7 == (LDAPMessage *)0x0) {
                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);
                uVar8 = *(uint *)(iVar33 + 0xbc);
                iVar21 = *(int *)(iVar33 + 0xb8);
                iVar12 = aiStack_b0[0];
                goto LAB_0005ff78;
              }
              goto LAB_0005ff90;
            }
          }
          else {
            iVar12 = Curl_isspace((uint)*pbVar20);
            if ((iVar12 != 0) ||
               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +
                                                      *(int *)(iStack_b8 + iVar24) + -1)),
               iVar12 != 0)) {
LAB_0005ff2c:
              CVar13 = FUN_0005fdc0();
              return CVar13;
            }
            puVar14 = (uint *)(iStack_b8 + iVar24);
            uVar8 = 0;
            if (*puVar14 != 0) {
              do {
                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));
                if (iVar12 == 0) goto LAB_0005ff2c;
                uVar8 = uVar8 + 1;
                puVar14 = (uint *)(iStack_b8 + iVar24);
              } while (uVar8 < *puVar14);
            }
            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);
            if ((pLVar7 != (LDAPMessage *)0x0) ||
               (pLVar7 = (LDAPMessage *)
                         (**(code **)(puVar31 + 0x46618))
                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],
                                    *(undefined4 *)(iStack_b8 + iVar24)),
               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;
            uVar8 = *(uint *)(iVar33 + 0xbc);
            iVar21 = *(int *)(iVar33 + 0xb8);
            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;
LAB_0005ff78:
            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;
            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;
          }
          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);
          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;
          iVar24 = iVar24 + 8;
          uVar8 = *(uint *)(iVar33 + 0xbc);
          uVar22 = uVar8 + 1;
          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);
          *(uint *)(iVar33 + 0xbc) = uVar22;
          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);
        } while (iVar12 != 0);
      }
      (**(code **)(puVar31 + 0x47028))();
      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);
      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;
      uVar8 = *(uint *)(iVar33 + 0xbc);
      uVar22 = uVar8 + 1;
      *(uint *)(iVar33 + 0xbc) = uVar22;
      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);
    }
  }
LAB_000600a8:
  pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);
  if (pLVar7 == (LDAPMessage *)0x0) {
    uVar8 = *(uint *)(iVar33 + 0xbc);
    pcVar32 = *(code **)(puVar31 + 0x46fbc);
    uVar22 = uVar8 + 1;
    *(uint *)(iVar33 + 0xbc) = uVar22;
    *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);
    (*pcVar32)(uStack_bc,0);
    CVar13 = FUN_0005fc30(*puVar26);
    return CVar13;
  }
LAB_0005ff90:
  *ppLStack_60 = pLVar7;
LAB_0005ff98:
  CVar13 = ~CURLE_OK;
LAB_0005ff9c:
  if (piStack_9c != (int *)*puVar5) {
    pcVar32 = *(code **)(puVar31 + 0x47118);
    piVar17 = piStack_9c;
    (*pcVar32)();
    iVar3 = *piVar17;
    piVar25 = *(int **)(iVar3 + 0x154);
    if (piVar25 != (int *)0x0) {
      if (*piVar25 != 0) {
        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);
        iVar3 = *piVar17;
        *piVar25 = 0;
      }
      *(undefined4 *)(iVar3 + 0x154) = 0;
      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);
    }
    return CURLE_OK;
  }
  return CVar13;
}



/* WARNING: Type propagation algorithm not settling */

int FUN_0005f798(undefined4 *param_1,undefined1 *param_2)

{
  bool bVar1;
  int iVar2;
  undefined4 *puVar3;
  int iVar4;
  undefined *puVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  uint *puVar11;
  undefined4 uVar12;
  undefined4 *puVar13;
  int *piVar14;
  undefined4 uVar15;
  undefined1 *puVar16;
  int iVar17;
  undefined *puVar18;
  uint uVar19;
  undefined4 *puVar20;
  int *unaff_s1;
  int iVar21;
  int *piVar22;
  undefined4 *puVar23;
  undefined4 uVar24;
  int iVar25;
  int iVar26;
  int iVar27;
  code *pcVar28;
  int iVar29;
  int local_c0;
  undefined4 local_bc;
  int local_b8;
  undefined4 local_b4;
  int local_b0 [5];
  int *local_9c;
  undefined4 *local_98;
  int *local_94;
  undefined4 *local_90;
  undefined *local_8c;
  undefined4 local_88;
  undefined1 *local_84;
  undefined **local_60;
  undefined *local_40;
  int local_3c;
  undefined *local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  undefined4 local_28;
  int *local_24;
  
  puVar5 = PTR___stack_chk_guard_000a6fe0;
  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;
  local_40 = (undefined *)0x0;
  local_34 = 0;
  local_30 = 1;
  local_38 = (undefined *)0x0;
  puVar20 = (undefined4 *)param_1[300];
  uVar24 = *param_1;
  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {
LAB_0005f820:
    if (*(char *)((int)puVar20 + 0x16) == '\0') {
LAB_0005f900:
      unaff_s1 = &local_2c;
      uVar15 = 0;
      if (*(char *)(param_1 + 0x96) == '\0') {
        local_28 = 0;
        local_2c = 0;
      }
      else {
        local_28 = param_1[0x5d];
        uVar15 = param_1[0x5c];
        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);
      }
      local_60 = (undefined **)0x0;
      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);
      if (iVar2 == 0) {
        *(undefined1 *)((int)puVar20 + 0x16) = 1;
        iVar2 = 0;
        goto LAB_0005f9a4;
      }
    }
    else {
      local_60 = &local_40;
      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);
      if (-1 < iVar2) {
        if (iVar2 != 0) {
          local_60 = &local_38;
          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);
          if (iVar2 != 0) {
            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);
            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);
            iVar2 = 0x26;
            goto LAB_0005f9a4;
          }
          if (local_3c == 2) {
            unaff_s1 = &local_2c;
            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);
            if (local_2c == 3) {
              if (local_38 != (undefined *)0x0) {
                (*(code *)PTR_ldap_memfree_000a6b54)();
                local_38 = (undefined *)0x0;
              }
              local_2c = 2;
              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);
              *(undefined1 *)((int)puVar20 + 0x16) = 0;
              goto LAB_0005f900;
            }
          }
          if (local_3c == 0) {
            if (local_38 != (undefined *)0x0) {
              (*(code *)PTR_ldap_memfree_000a6b54)();
            }
            iVar2 = 0;
            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;
            *param_2 = 1;
          }
          else {
            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);
            puVar18 = local_38;
            if (local_38 == (undefined *)0x0) {
              puVar18 = PTR_UINT_000a6194 + 0x3538;
            }
            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);
            if (local_38 == (undefined *)0x0) {
              iVar2 = 0x43;
            }
            else {
              (*(code *)PTR_ldap_memfree_000a6b54)();
              iVar2 = 0x43;
            }
          }
          goto LAB_0005f9a4;
        }
        goto LAB_0005f9f4;
      }
      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);
      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);
    }
    iVar2 = 0x26;
  }
  else {
    if (*(char *)(puVar20 + 5) != '\0') {
LAB_0005f814:
      if (*(char *)((int)puVar20 + 0x15) == '\0') {
        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);
        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);
        uVar12 = param_1[0x6b];
        uVar15 = param_1[0x6d];
        *(undefined1 *)((int)puVar20 + 0x15) = 1;
        puVar20[1] = uVar12;
        puVar20[2] = uVar15;
      }
      goto LAB_0005f820;
    }
    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);
    if (iVar2 != 0) goto LAB_0005f9a4;
    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;
LAB_0005f9f4:
    iVar2 = 0;
  }
LAB_0005f9a4:
  if (local_24 == *(int **)puVar5) {
    return iVar2;
  }
  piVar14 = local_24;
  puVar18 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);
  local_8c = puVar5;
  iVar29 = *piVar14;
  local_9c = (int *)*puVar3;
  puVar23 = (undefined4 *)piVar14[300];
  puVar13 = *(undefined4 **)(iVar29 + 0x154);
  local_b0[2] = 1;
  local_c0 = 0;
  local_bc = 0;
  local_b0[1] = 0;
  local_98 = puVar20;
  local_94 = unaff_s1;
  local_90 = param_1;
  local_88 = uVar24;
  local_84 = param_2;
  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);
  if (iVar2 < 0) {
    iVar25 = -1;
    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);
    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);
    *local_60 = (undefined *)0x38;
  }
  else {
    *local_60 = (undefined *)0x51;
    if (local_c0 == 0) {
LAB_0005ff98:
      iVar25 = -1;
    }
    else {
      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);
      if (iVar2 != 0) {
        iVar26 = *(int *)(puVar18 + 0x46658);
        iVar27 = *(int *)(puVar18 + 0x46658);
        iVar25 = *(int *)(puVar18 + 0x46658);
        do {
          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);
          if (iVar4 == 0x65) {
            local_b0[3] = 0;
            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);
            if (iVar2 == 0) {
              if (local_b0[0] != 0) {
                if (local_b0[0] != 4) {
                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);
                  uVar6 = local_b0[3];
                  if (local_b0[3] == 0) {
                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;
                  }
                  (**(code **)(puVar18 + 0x46610))
                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);
                  goto LAB_00060368;
                }
                (**(code **)(puVar18 + 0x46670))
                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);
              }
              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);
              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);
              *local_60 = (undefined *)0x0;
              iVar25 = 0;
            }
            else {
              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);
              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);
LAB_00060368:
              iVar25 = -1;
              *local_60 = (undefined *)0x27;
            }
            pcVar28 = *(code **)(puVar18 + 0x47018);
            *puVar13 = 0;
            (*pcVar28)(local_b0[3]);
            goto LAB_0006023c;
          }
          uVar24 = *puVar23;
          if (iVar4 == 100) {
            piVar22 = local_b0 + 3;
            pcVar28 = *(code **)(puVar18 + 0x472b8);
            puVar13[1] = puVar13[1] + 1;
            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);
            if (iVar4 < 0) {
              *local_60 = (undefined *)0x38;
            }
            else {
              puVar5 = (undefined *)
                       (**(code **)(puVar18 + 0x46618))
                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);
              if ((puVar5 == (undefined *)0x0) &&
                 (puVar5 = (undefined *)
                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),
                 puVar5 == (undefined *)0x0)) {
                iVar4 = *(int *)(puVar18 + 0x46658);
                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);
                if (puVar5 == (undefined *)0x0) {
                  uVar6 = *(uint *)(iVar29 + 0xbc);
                  uVar24 = *puVar23;
                  pcVar28 = *(code **)(puVar18 + 0x46f38);
                  uVar19 = uVar6 + local_b0[3] + 5U;
                  *(uint *)(iVar29 + 0xbc) = uVar19;
                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);
                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {
                    iVar8 = *(int *)(puVar18 + 0x46658);
                    do {
                      if ((uint)local_b0[3] < 8) {
                        bVar1 = false;
                        if (local_b8 != 0) goto LAB_0005fda8;
LAB_0005ffec:
                        puVar5 = (undefined *)
                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);
                        if (((puVar5 != (undefined *)0x0) ||
                            (puVar5 = (undefined *)
                                      (**(code **)(puVar18 + 0x46618))
                                                (piVar14,1,local_b0[4],local_b0[3]),
                            puVar5 != (undefined *)0x0)) ||
                           (puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),
                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;
                        uVar6 = *(uint *)(iVar29 + 0xbc);
                        uVar19 = uVar6 + local_b0[3] + 3U;
                        *(uint *)(iVar29 + 0xbc) = uVar19;
                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                      }
                      else {
                        iVar9 = (**(code **)(puVar18 + 0x47058))
                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);
                        bVar1 = iVar9 == 0;
                        if (local_b8 == 0) goto LAB_0005ffec;
LAB_0005fda8:
                        iVar9 = *(int *)(puVar18 + 0x46658);
                        if (*(int *)(local_b8 + 4) != 0) {
                          iVar21 = 0;
                          do {
                            puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);
                            if ((puVar5 != (undefined *)0x0) ||
                               (puVar5 = (undefined *)
                                         (**(code **)(puVar18 + 0x46618))
                                                   (piVar14,1,local_b0[4],local_b0[3]),
                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;
                            puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);
                            if (puVar5 != (undefined *)0x0) {
                              *local_60 = puVar5;
                              goto LAB_0005ff98;
                            }
                            uVar6 = *(uint *)(iVar29 + 0xbc);
                            uVar19 = uVar6 + local_b0[3] + 2U;
                            puVar20 = (undefined4 *)(local_b8 + iVar21);
                            *(uint *)(iVar29 + 0xbc) = uVar19;
                            puVar16 = (undefined1 *)puVar20[1];
                            *(uint *)(iVar29 + 0xb8) =
                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                            if (bVar1) {
LAB_0005fdc0:
                              local_b4 = 0;
                              local_b0[0] = 0;
                              puVar5 = (undefined *)
                                       (**(code **)(puVar18 + 0x4677c))
                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);
                              if (puVar5 != (undefined *)0x0) {
                                (**(code **)(puVar18 + 0x47028))(local_b8);
                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);
                                (**(code **)(puVar18 + 0x4725c))(local_c0);
                                *local_60 = puVar5;
                                goto LAB_0005ff98;
                              }
                              puVar5 = (undefined *)
                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)
                              ;
                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;
                              uVar6 = *(uint *)(iVar29 + 0xbc);
                              uVar19 = uVar6 + 2;
                              *(uint *)(iVar29 + 0xbc) = uVar19;
                              *(uint *)(iVar29 + 0xb8) =
                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                              if (local_b0[0] != 0) {
                                puVar5 = (undefined *)
                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);
                                if (puVar5 == (undefined *)0x0) {
                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);
                                  uVar6 = *(uint *)(iVar29 + 0xbc);
                                  iVar17 = *(int *)(iVar29 + 0xb8);
                                  iVar10 = local_b0[0];
                                  goto LAB_0005ff78;
                                }
                                goto LAB_0005ff90;
                              }
                            }
                            else {
                              iVar10 = FUN_00073fc0(*puVar16);
                              if ((iVar10 != 0) ||
                                 (iVar10 = FUN_00073fc0(*(undefined1 *)
                                                         (((int *)(local_b8 + iVar21))[1] +
                                                          *(int *)(local_b8 + iVar21) + -1)),
                                 iVar10 != 0)) {
LAB_0005ff2c:
                                puVar20 = (undefined4 *)(local_b8 + iVar21);
                                puVar16 = (undefined1 *)puVar20[1];
                                goto LAB_0005fdc0;
                              }
                              puVar11 = (uint *)(local_b8 + iVar21);
                              uVar6 = 0;
                              if (*puVar11 != 0) {
                                do {
                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));
                                  if (iVar10 == 0) goto LAB_0005ff2c;
                                  uVar6 = uVar6 + 1;
                                  puVar11 = (uint *)(local_b8 + iVar21);
                                } while (uVar6 < *puVar11);
                              }
                              puVar5 = (undefined *)
                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);
                              if ((puVar5 != (undefined *)0x0) ||
                                 (puVar5 = (undefined *)
                                           (**(code **)(puVar18 + 0x46618))
                                                     (piVar14,1,
                                                      ((undefined4 *)(local_b8 + iVar21))[1],
                                                      *(undefined4 *)(local_b8 + iVar21)),
                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;
                              uVar6 = *(uint *)(iVar29 + 0xbc);
                              iVar17 = *(int *)(iVar29 + 0xb8);
                              iVar10 = *(int *)(local_b8 + iVar21) + 1;
LAB_0005ff78:
                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;
                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;
                            }
                            puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);
                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;
                            iVar21 = iVar21 + 8;
                            uVar6 = *(uint *)(iVar29 + 0xbc);
                            uVar19 = uVar6 + 1;
                            iVar10 = *(int *)(local_b8 + iVar21 + 4);
                            *(uint *)(iVar29 + 0xbc) = uVar19;
                            *(uint *)(iVar29 + 0xb8) =
                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                          } while (iVar10 != 0);
                        }
                        (**(code **)(puVar18 + 0x47028))();
                        puVar5 = (undefined *)
                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);
                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;
                        uVar6 = *(uint *)(iVar29 + 0xbc);
                        uVar19 = uVar6 + 1;
                        *(uint *)(iVar29 + 0xbc) = uVar19;
                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                      }
                      iVar9 = (**(code **)(puVar18 + 0x46f38))
                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);
                    } while ((iVar9 == 0) && (local_b0[4] != 0));
                  }
                  puVar5 = (undefined *)
                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);
                  if (puVar5 == (undefined *)0x0) {
                    uVar6 = *(uint *)(iVar29 + 0xbc);
                    pcVar28 = *(code **)(puVar18 + 0x46fbc);
                    uVar19 = uVar6 + 1;
                    *(uint *)(iVar29 + 0xbc) = uVar19;
                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                    (*pcVar28)(local_bc,0);
                    uVar24 = *puVar23;
                    goto LAB_0005fc30;
                  }
                }
              }
LAB_0005ff90:
              *local_60 = puVar5;
            }
            goto LAB_0005ff98;
          }
LAB_0005fc30:
          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);
        } while (iVar2 != 0);
      }
      iVar25 = -1;
LAB_0006023c:
      (**(code **)(puVar18 + 0x4725c))(local_c0);
    }
  }
  if (local_9c != (int *)*puVar3) {
    pcVar28 = *(code **)(puVar18 + 0x47118);
    piVar14 = local_9c;
    (*pcVar28)();
    iVar2 = *piVar14;
    piVar22 = *(int **)(iVar2 + 0x154);
    if (piVar22 != (int *)0x0) {
      if (*piVar22 != 0) {
        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);
        iVar2 = *piVar14;
        *piVar22 = 0;
      }
      *(undefined4 *)(iVar2 + 0x154) = 0;
      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);
    }
    return 0;
  }
  return iVar25;
}


lui gp,0x5
addiu gp,gp,-0x1688
addu gp,gp,t9
addiu sp,sp,-0x70
lw v0,0x284(a0)
sw s3,0x60(sp)
lw s3,-0x7130(gp)
lw v0,0x44(v0)
sw gp,0x20(sp)
sw s5,0x68(sp)
or s5,a1,zero
lw v1,0x0(s3)
andi v0,v0,0x1
sw s4,0x64(sp)
sw s2,0x5c(sp)
or s2,a0,zero
sw v1,0x4c(sp)
li v1,0x1
sw s0,0x54(sp)
sw ra,0x6c(sp)
sw s1,0x58(sp)
sw zero,0x30(sp)
sw zero,0x3c(sp)
sw v1,0x40(sp)
sw zero,0x38(sp)
lw s0,0x4b0(a0)
beq v0,zero,0x0005f820
_lw s4,0x0(a0)
lbu v0,0x14(s0)
beq v0,zero,0x0005f9d4
_lw t9,-0x7e88(gp)
lbu v0,0x15(s0)
beq v0,zero,0x0005f9fc
_lw t9,-0x7654(gp)
lbu v0,0x16(s0)
beq v0,zero,0x0005fb14
_lw t9,-0x747c(gp)
addiu v0,sp,0x30
lw a1,0x10(s0)
addiu a3,sp,0x3c
lw a0,0x0(s0)
or a2,zero,zero
jalr t9
_sw v0,0x10(sp)
bltz v0,0x0005fa58
_lw gp,0x20(sp)
beq v0,zero,0x0005f9f4
_lw t9,-0x739c(gp)
li v0,0x1
lw a0,0x0(s0)
or a3,zero,zero
lw a1,0x30(sp)
addiu a2,sp,0x34
sw v0,0x1c(sp)
addiu v0,sp,0x38
sw zero,0x18(sp)
sw zero,0x14(sp)
jalr t9
_sw v0,0x10(sp)
bne v0,zero,0x0005fa8c
_lw gp,0x20(sp)
lw v0,0x34(sp)
li v1,0x2
bne v0,v1,0x0005f970
_lw t9,-0x7654(gp)
addiu s1,sp,0x44
lw a0,0x0(s0)
li a1,0x11
jalr t9
_or a2,s1,zero
li v0,0x3
lw v1,0x44(sp)
bne v1,v0,0x0005f96c
_lw gp,0x20(sp)
lw a0,0x38(sp)
beq a0,zero,0x0005f8dc
_lw t9,-0x75bc(gp)
jalr t9
_nop
lw gp,0x20(sp)
sw zero,0x38(sp)
lw t9,-0x75a0(gp)
li v0,0x2
lw a0,0x0(s0)
li a1,0x11
or a2,s1,zero
jalr t9
_sw v0,0x44(sp)
lw gp,0x20(sp)
sb zero,0x16(s0)
lbu v0,0x258(s2)
beq v0,zero,0x0005fa4c
_or a1,zero,zero
lw v0,0x174(s2)
lw a1,0x170(s2)
lw t9,-0x7268(gp)
or a0,v0,zero
sw v0,0x48(sp)
jalr t9
_sw a1,0x2c(sp)
lw gp,0x20(sp)
lw a1,0x2c(sp)
sw v0,0x44(sp)
lw a0,0x0(s0)
addiu v0,s0,0x10
lw t9,-0x7168(gp)
or a2,zero,zero
sw v0,0x18(sp)
or a3,s1,zero
sw zero,0x14(sp)
jalr t9
_sw zero,0x10(sp)
bne v0,zero,0x0005fa84
_lw gp,0x20(sp)
li v1,0x1
b 0x0005f9a4
_sb v1,0x16(s0)
lw v0,0x34(sp)
bne v0,zero,0x0005fac0
_lw a0,0x38(sp)
beq a0,zero,0x0005f98c
_lw t9,-0x75bc(gp)
jalr t9
_nop
lw gp,0x20(sp)
lw v1,-0x79cc(gp)
or v0,zero,zero
addiu v1,v1,-0x4c4
sw v1,0x1ac(s2)
li v1,0x1
sb v1,0x0(s5)
lw a0,0x4c(sp)
lw v1,0x0(s3)
bne a0,v1,0x0005fb30
_lw ra,0x6c(sp)
lw s5,0x68(sp)
lw s4,0x64(sp)
lw s3,0x60(sp)
lw s2,0x5c(sp)
lw s1,0x58(sp)
lw s0,0x54(sp)
jr ra
_addiu sp,sp,0x70
addiu a2,s0,0x14
jalr t9
_or a1,zero,zero
bne v0,zero,0x0005f9a4
_lw gp,0x20(sp)
lbu v0,0x14(s0)
bne v0,zero,0x0005f814
_nop
b 0x0005f9a4
_or v0,zero,zero
addiu a2,sp,0x44
lw a0,0x0(s0)
jalr t9
_li a1,0x5008
li a2,0x14
lw gp,0x20(sp)
or a3,s2,zero
lw a0,0x44(sp)
lw a1,-0x7fe4(gp)
lw t9,-0x74ac(gp)
jalr t9
_addiu a1,a1,0x60b0
li a0,0x1
lw v1,0x1ac(s2)
lw v0,0x1b4(s2)
lw gp,0x20(sp)
sb a0,0x15(s0)
sw v1,0x4(s0)
b 0x0005f820
_sw v0,0x8(s0)
sw zero,0x48(sp)
b 0x0005f934
_sw zero,0x44(sp)
lw t9,-0x7464(gp)
jalr t9
_or a0,v0,zero
or a0,s4,zero
lw gp,0x20(sp)
or a2,v0,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x14a0
lw gp,0x20(sp)
b 0x0005f9a4
_li v0,0x26
lw t9,-0x7464(gp)
jalr t9
_or a0,v0,zero
or a0,s4,zero
lw gp,0x20(sp)
or a2,v0,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x14c0
li v0,0x26
b 0x0005f9a4
_lw gp,0x20(sp)
lw t9,-0x7464(gp)
jalr t9
_or a0,zero,zero
lw a3,0x38(sp)
beq a3,zero,0x0005fb24
_lw gp,0x20(sp)
lw a1,-0x7f7c(gp)
or a0,s4,zero
lw t9,-0x7fc4(gp)
or a2,v0,zero
jalr t9
_addiu a1,a1,0x14e8
lw a0,0x38(sp)
beq a0,zero,0x0005fb1c
_lw gp,0x20(sp)
lw t9,-0x75bc(gp)
jalr t9
_nop
li v0,0x43
b 0x0005f9a4
_lw gp,0x20(sp)
b 0x0005f900
_addiu s1,sp,0x44
b 0x0005f9a4
_li v0,0x43
lw a3,-0x7f7c(gp)
b 0x0005fad8
_addiu a3,a3,0x3538
lw t9,-0x74bc(gp)
jalr t9
_nop
lui gp,0x5
addiu gp,gp,-0x1a2c
addu gp,gp,t9
addiu sp,sp,-0xa0
lw v0,-0x7130(gp)
lw t9,-0x747c(gp)
li a2,0x2
addiu a3,sp,0x64
lw v1,0xb0(sp)
sw s8,0x98(sp)
sw v0,0x38(sp)
sw s3,0x84(sp)
sw v1,0x30(sp)
lw s8,0x0(a0)
lw v0,0x0(v0)
lw s3,0x4b0(a0)
sw s0,0x78(sp)
or s0,a0,zero
sw v0,0x74(sp)
li v0,0x1
lw v1,0x154(s8)
lw a0,0x0(s3)
sw v0,0x68(sp)
addiu v0,sp,0x50
sw gp,0x20(sp)
sw ra,0x9c(sp)
sw s7,0x94(sp)
sw s6,0x90(sp)
sw s5,0x8c(sp)
sw s4,0x88(sp)
sw s2,0x80(sp)
sw s1,0x7c(sp)
sw v1,0x40(sp)
sw zero,0x50(sp)
sw zero,0x54(sp)
sw zero,0x64(sp)
lw a1,0x0(v1)
jalr t9
_sw v0,0x10(sp)
bltz v0,0x000603d0
_lw gp,0x20(sp)
lw v1,0x30(sp)
li v0,0x51
lw a1,0x50(sp)
beq a1,zero,0x0005ff98
_sw v0,0x0(v1)
lw t9,-0x77fc(gp)
jalr t9
_lw a0,0x0(s3)
lw gp,0x20(sp)
beq v0,zero,0x00060238
_or s2,v0,zero
lw s5,-0x7f7c(gp)
lw s6,-0x7f7c(gp)
lw s4,-0x7f7c(gp)
addiu v0,s5,-0x7558
sw v0,0x28(sp)
addiu v0,s6,0x2cb4
addiu s4,s4,-0x79f8
b 0x0005fc48
_sw v0,0x2c(sp)
lw t9,-0x7734(gp)
jalr t9
_or a1,s2,zero
lw gp,0x20(sp)
beq v0,zero,0x00060238
_or s2,v0,zero
lw t9,-0x756c(gp)
jalr t9
_or a0,s2,zero
li a0,0x65
beq v0,a0,0x00060250
_lw gp,0x20(sp)
li a1,0x64
bne v0,a1,0x0005fc30
_lw a0,0x0(s3)
lw v1,0x40(sp)
addiu a1,sp,0x6c
lw t9,-0x731c(gp)
addiu a2,sp,0x54
sw a1,0x34(sp)
or a3,a1,zero
or a1,s2,zero
lw v0,0x4(v1)
addiu v0,v0,0x1
jalr t9
_sw v0,0x4(v1)
bltz v0,0x000603b4
_lw gp,0x20(sp)
lw a2,-0x7f7c(gp)
li a3,0x4
lw t9,-0x7fbc(gp)
li a1,0x1
or a0,s0,zero
jalr t9
_addiu a2,a2,0x1598
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw t9,-0x7fbc(gp)
li a1,0x1
lw a3,0x6c(sp)
or a0,s0,zero
jalr t9
_lw a2,0x70(sp)
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw s7,-0x7f7c(gp)
li a3,0x1
lw t9,-0x7fbc(gp)
li a1,0x1
or a0,s0,zero
jalr t9
_addiu a2,s7,-0x7194
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw t0,0x6c(sp)
addiu v1,sp,0x58
lw v0,0xbc(s8)
or a1,s2,zero
lw t1,0xb8(s8)
addiu t0,t0,0x5
lw a0,0x0(s3)
lw t9,-0x769c(gp)
addu t0,v0,t0
lw a3,0x34(sp)
lw a2,0x54(sp)
sltu v0,t0,v0
sw t0,0xbc(s8)
addu v0,v0,t1
sw v1,0x48(sp)
sw v0,0xb8(s8)
jalr t9
_sw v1,0x10(sp)
bne v0,zero,0x000600a8
_lw gp,0x20(sp)
lw a0,0x70(sp)
beq a0,zero,0x000600a8
_lw v0,-0x7f7c(gp)
sw v0,0x44(sp)
lw v0,-0x7f7c(gp)
sw v0,0x4c(sp)
lw v0,0x6c(sp)
sltiu a1,v0,0x8
bne a1,zero,0x0005ffe0
_lw v1,0x44(sp)
addiu v0,v0,-0x7
lw t9,-0x757c(gp)
li a2,0x7
addu a0,a0,v0
jalr t9
_addiu a1,v1,0x15a0
lw a0,0x58(sp)
sltiu s5,v0,0x1
beq a0,zero,0x0005ffec
_lw gp,0x20(sp)
lw v0,0x4(a0)
beq v0,zero,0x000601dc
_lw v0,-0x7f7c(gp)
or s1,zero,zero
b 0x0005fe80
_sw v0,0x3c(sp)
lw a2,0x0(a2)
addiu v0,sp,0x60
lw t9,-0x7e58(gp)
addiu a3,sp,0x5c
sw v0,0x10(sp)
or a0,s8,zero
sw zero,0x5c(sp)
jalr t9
_sw zero,0x60(sp)
bne v0,zero,0x000602f4
_lw gp,0x20(sp)
lw t9,-0x7fbc(gp)
li a3,0x2
lw a2,0x2c(sp)
li a1,0x1
jalr t9
_or a0,s0,zero
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw v0,0xbc(s8)
lw a1,0xb8(s8)
lw a3,0x60(sp)
addiu a0,v0,0x2
sltu v0,a0,v0
sw a0,0xbc(s8)
addu v0,v0,a1
bne a3,zero,0x0005ff3c
_sw v0,0xb8(s8)
lw t9,-0x7fbc(gp)
or a3,zero,zero
addiu a2,s7,-0x7194
li a1,0x1
jalr t9
_or a0,s0,zero
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw a0,0x58(sp)
addiu s1,s1,0x8
lw v0,0xbc(s8)
lw a3,0xb8(s8)
addu a2,a0,s1
addiu a1,v0,0x1
lw a2,0x4(a2)
sltu v0,a1,v0
addu v0,v0,a3
sw a1,0xbc(s8)
beq a2,zero,0x000601dc
_sw v0,0xb8(s8)
lw t9,-0x7fbc(gp)
li a3,0x1
li a1,0x1
or a2,s4,zero
jalr t9
_or a0,s0,zero
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw t9,-0x7fbc(gp)
li a1,0x1
lw a3,0x6c(sp)
or a0,s0,zero
jalr t9
_lw a2,0x70(sp)
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw t9,-0x7fbc(gp)
li a3,0x1
lw a2,0x28(sp)
li a1,0x1
jalr t9
_or a0,s0,zero
lw gp,0x20(sp)
bne v0,zero,0x0006022c
_or s6,v0,zero
lw a0,0x6c(sp)
lw v0,0xbc(s8)
lw a2,0x58(sp)
addiu a0,a0,0x2
lw a1,0xb8(s8)
addu a0,v0,a0
addu a2,a2,s1
sltu v0,a0,v0
sw a0,0xbc(s8)
addu v0,v0,a1
lw a1,0x4(a2)
bne s5,zero,0x0005fdc0
_sw v0,0xb8(s8)
lw t9,-0x7e54(gp)
bal 0x00073fc0
_lbu a0,0x0(a1)
beq v0,zero,0x00060100
_lw gp,0x20(sp)
lw a2,0x58(sp)
addu a2,a2,s1
b 0x0005fdc0
_lw a1,0x4(a2)
lw t9,-0x7fbc(gp)
li a1,0x1
lw a2,0x5c(sp)
jalr t9
_or a0,s0,zero
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw v0,-0x7fcc(gp)
lw t9,0x0(v0)
jalr t9
_lw a0,0x5c(sp)
lw gp,0x20(sp)
lw v0,0xbc(s8)
lw a1,0xb8(s8)
lw a0,0x60(sp)
addu a0,v0,a0
sltu v0,a0,v0
sw a0,0xbc(s8)
addu v0,v0,a1
b 0x0005fe30
_sw v0,0xb8(s8)
lw v1,0x30(sp)
sw v0,0x0(v1)
li s0,-0x1
lw v1,0x38(sp)
or v0,s0,zero
lw a0,0x74(sp)
lw v1,0x0(v1)
bne a0,v1,0x00060410
_lw ra,0x9c(sp)
lw s8,0x98(sp)
lw s7,0x94(sp)
lw s6,0x90(sp)
lw s5,0x8c(sp)
lw s4,0x88(sp)
lw s3,0x84(sp)
lw s2,0x80(sp)
lw s1,0x7c(sp)
lw s0,0x78(sp)
jr ra
_addiu sp,sp,0xa0
lw a0,0x58(sp)
bne a0,zero,0x0005fda8
_or s5,zero,zero
lw t9,-0x7fbc(gp)
li a3,0x1
li a1,0x1
or a2,s4,zero
jalr t9
_or a0,s0,zero
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw t9,-0x7fbc(gp)
li a1,0x1
lw a3,0x6c(sp)
or a0,s0,zero
jalr t9
_lw a2,0x70(sp)
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw v0,0x4c(sp)
li a3,0x2
lw t9,-0x7fbc(gp)
li a1,0x1
or a0,s0,zero
jalr t9
_addiu a2,v0,0x3900
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw a0,0x6c(sp)
lw v0,0xbc(s8)
lw a1,0xb8(s8)
addiu a0,a0,0x3
addu a0,v0,a0
sltu v0,a0,v0
sw a0,0xbc(s8)
addu v0,v0,a1
sw v0,0xb8(s8)
lw v0,0x48(sp)
or a1,s2,zero
lw t9,-0x769c(gp)
lw a0,0x0(s3)
lw a3,0x34(sp)
lw a2,0x54(sp)
jalr t9
_sw v0,0x10(sp)
bne v0,zero,0x000600a8
_lw gp,0x20(sp)
lw a0,0x70(sp)
bne a0,zero,0x0005fd74
_lw v0,0x6c(sp)
lw t9,-0x7fbc(gp)
or a3,zero,zero
addiu a2,s7,-0x7194
li a1,0x1
jalr t9
_or a0,s0,zero
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw v0,0xbc(s8)
or a1,zero,zero
lw a3,0xb8(s8)
lw t9,-0x7618(gp)
addiu a2,v0,0x1
lw a0,0x54(sp)
sltu v0,a2,v0
sw a2,0xbc(s8)
addu v0,v0,a3
jalr t9
_sw v0,0xb8(s8)
lw gp,0x20(sp)
b 0x0005fc30
_lw a0,0x0(s3)
lw v0,0x58(sp)
lw t9,-0x7e54(gp)
addu v0,v0,s1
lw a0,0x4(v0)
lw v0,0x0(v0)
addu v0,a0,v0
bal 0x00073fc0
_lbu a0,-0x1(v0)
bne v0,zero,0x0005ff2c
_lw gp,0x20(sp)
lw v0,0x58(sp)
addu v0,v0,s1
lw a0,0x0(v0)
beq a0,zero,0x00060174
_nop
lw v0,0x4(v0)
lw t9,-0x79a0(gp)
addu v0,v0,s6
bal 0x000740ec
_lbu a0,0x0(v0)
beq v0,zero,0x0005ff2c
_lw gp,0x20(sp)
lw v0,0x58(sp)
addiu s6,s6,0x1
addu v0,v0,s1
lw a0,0x0(v0)
sltu a0,s6,a0
bne a0,zero,0x0006013c
_nop
lw v0,0x3c(sp)
li a3,0x1
lw t9,-0x7fbc(gp)
li a1,0x1
or a0,s0,zero
jalr t9
_addiu a2,v0,0x3290
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw v0,0x58(sp)
li a1,0x1
lw t9,-0x7fbc(gp)
or a0,s0,zero
addu v0,v0,s1
lw a3,0x0(v0)
jalr t9
_lw a2,0x4(v0)
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw a0,0x58(sp)
lw v0,0xbc(s8)
lw a1,0xb8(s8)
addu a0,a0,s1
lw a0,0x0(a0)
b 0x0005ff78
_addiu a0,a0,0x1
lw t9,-0x75ac(gp)
jalr t9
_nop
or a3,zero,zero
lw gp,0x20(sp)
addiu a2,s7,-0x7194
li a1,0x1
lw t9,-0x7fbc(gp)
jalr t9
_or a0,s0,zero
bne v0,zero,0x0005ff90
_lw gp,0x20(sp)
lw v0,0xbc(s8)
lw a1,0xb8(s8)
addiu a0,v0,0x1
sltu v0,a0,v0
sw a0,0xbc(s8)
addu v0,v0,a1
b 0x00060074
_sw v0,0xb8(s8)
lw v0,0x30(sp)
b 0x0005ff98
_sw s6,0x0(v0)
li s0,-0x1
lw t9,-0x7378(gp)
jalr t9
_lw a0,0x50(sp)
b 0x0005ff9c
_lw gp,0x20(sp)
lw a0,0x0(s3)
addiu v0,sp,0x6c
lw t9,-0x739c(gp)
or a3,zero,zero
addiu a2,sp,0x60
sw zero,0x1c(sp)
sw zero,0x18(sp)
or a1,s2,zero
sw zero,0x14(sp)
sw v0,0x10(sp)
jalr t9
_sw zero,0x6c(sp)
lw gp,0x20(sp)
bne v0,zero,0x0006033c
_or s0,v0,zero
lw v0,0x60(sp)
beq v0,zero,0x000602c0
_nop
li a0,0x4
bne v0,a0,0x0006037c
_lw v0,0x40(sp)
or a0,s8,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7f64(gp)
lw a2,0x4(v0)
jalr t9
_addiu a1,a1,0x1578
lw gp,0x20(sp)
lw v0,0x30(sp)
lw a1,0xbc(s8)
lw a0,0xb8(s8)
sw a1,0x9c(s8)
sw a0,0x98(s8)
sw zero,0x0(v0)
lw v0,0x40(sp)
lw t9,-0x75bc(gp)
lw a0,0x6c(sp)
jalr t9
_sw zero,0x0(v0)
b 0x0006023c
_lw gp,0x20(sp)
lw t9,-0x75ac(gp)
lw a0,0x58(sp)
jalr t9
_sw v0,0x28(sp)
or a1,zero,zero
lw gp,0x20(sp)
lw t9,-0x7618(gp)
jalr t9
_lw a0,0x54(sp)
lw gp,0x20(sp)
lw t9,-0x7378(gp)
jalr t9
_lw a0,0x50(sp)
lw v0,0x30(sp)
lw a2,0x28(sp)
lw gp,0x20(sp)
b 0x0005ff98
_sw a2,0x0(v0)
lw t9,-0x7464(gp)
jalr t9
_or a0,v0,zero
or a0,s8,zero
lw gp,0x20(sp)
or a2,v0,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x152c
lw gp,0x20(sp)
lw v1,0x30(sp)
li v0,0x27
li s0,-0x1
b 0x000602d8
_sw v0,0x0(v1)
lw t9,-0x7464(gp)
jalr t9
_or a0,zero,zero
lw a3,0x6c(sp)
beq a3,zero,0x000603c4
_lw gp,0x20(sp)
lw a1,-0x7f7c(gp)
or a2,v0,zero
lw t9,-0x7fc4(gp)
or a0,s8,zero
jalr t9
_addiu a1,a1,0x1554
b 0x00060368
_lw gp,0x20(sp)
lw v1,0x30(sp)
li v0,0x38
b 0x0005ff98
_sw v0,0x0(v1)
lw a3,-0x7f7c(gp)
b 0x00060394
_addiu a3,a3,0x3538
lw t9,-0x7464(gp)
or a0,v0,zero
jalr t9
_li s0,-0x1
or a0,s8,zero
lw gp,0x20(sp)
or a2,v0,zero
lw a1,-0x7f7c(gp)
lw t9,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x1508
li v0,0x38
lw v1,0x30(sp)
lw gp,0x20(sp)
b 0x0005ff9c
_sw v0,0x0(v1)
lw t9,-0x74bc(gp)
jalr t9
_nop
lui gp,0x5
addiu gp,gp,-0x230c
addu gp,gp,t9
lw v0,0x0(a0)
addiu sp,sp,-0x28
sw s1,0x20(sp)
sw gp,0x10(sp)
sw ra,0x24(sp)
sw s0,0x1c(sp)
lw s1,0x154(v0)
beq s1,zero,0x00060470
_lw ra,0x24(sp)
lw a1,0x0(s1)
bne a1,zero,0x00060484
_or s0,a0,zero
sw zero,0x154(v0)
lw v0,-0x7fcc(gp)
lw t9,0x0(v0)
jalr t9
_or a0,s1,zero
lw ra,0x24(sp)
or v0,zero,zero
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x28
lw v0,0x4b0(a0)
or a3,zero,zero
lw t9,-0x7220(gp)
or a2,zero,zero
jalr t9
_lw a0,0x0(v0)
lw gp,0x10(sp)
lw v0,0x0(s0)
b 0x00060458
_sw zero,0x0(s1)
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nint FUN_0005f798(undefined4 *param_1,undefined1 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}\n\n" comment (function_definition "int FUN_0005f798(undefined4 *param_1,undefined1 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}" primitive_type (function_declarator "FUN_0005f798(undefined4 *param_1,undefined1 *param_2)" identifier (parameter_list "(undefined4 *param_1,undefined1 *param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "int local_b0 [5];" primitive_type (array_declarator "local_b0 [5]" identifier [ number_literal ]) ;) (declaration "int *local_9c;" primitive_type (pointer_declarator "*local_9c" * identifier) ;) (declaration "undefined4 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int *local_94;" primitive_type (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined **local_60;" type_identifier (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier)) ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar5 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(int **)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 1;" (assignment_expression "local_30 = 1" identifier = number_literal) ;) (expression_statement "local_38 = (undefined *)0x0;" (assignment_expression "local_38 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)param_1[300];" (assignment_expression "puVar20 = (undefined4 *)param_1[300]" identifier = (cast_expression "(undefined4 *)param_1[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[300]" identifier [ number_literal ]))) ;) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" if (parenthesized_expression "((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0)" ( (binary_expression "(*(uint *)(param_1[0xa1] + 0x44) & 1) == 0" (parenthesized_expression "(*(uint *)(param_1[0xa1] + 0x44) & 1)" ( (binary_expression "*(uint *)(param_1[0xa1] + 0x44) & 1" (pointer_expression "*(uint *)(param_1[0xa1] + 0x44)" * (cast_expression "(uint *)(param_1[0xa1] + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0xa1] + 0x44)" ( (binary_expression "param_1[0xa1] + 0x44" (subscript_expression "param_1[0xa1]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }" { (labeled_statement "LAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" statement_identifier : (if_statement "if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" if (parenthesized_expression "(*(char *)((int)puVar20 + 0x16) == '\0')" ( (binary_expression "*(char *)((int)puVar20 + 0x16) == '\0'" (pointer_expression "*(char *)((int)puVar20 + 0x16)" * (cast_expression "(char *)((int)puVar20 + 0x16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x16)" ( (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }" { (labeled_statement "LAB_0005f900:\n      unaff_s1 = &local_2c;" statement_identifier : (expression_statement "unaff_s1 = &local_2c;" (assignment_expression "unaff_s1 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;)) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x96) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x96) == '\0'" (pointer_expression "*(char *)(param_1 + 0x96)" * (cast_expression "(char *)(param_1 + 0x96)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x96)" ( (binary_expression "param_1 + 0x96" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_28 = 0;\n        local_2c = 0;\n      }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" else (compound_statement "{\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" { (expression_statement "local_28 = param_1[0x5d];" (assignment_expression "local_28 = param_1[0x5d]" identifier = (subscript_expression "param_1[0x5d]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = param_1[0x5c];" (assignment_expression "uVar15 = param_1[0x5c]" identifier = (subscript_expression "param_1[0x5c]" identifier [ number_literal ])) ;) (expression_statement "local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);" (assignment_expression "local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28)" identifier = (call_expression "(*(code *)PTR_strlen_000a6ea8)(local_28)" (parenthesized_expression "(*(code *)PTR_strlen_000a6ea8)" ( (pointer_expression "*(code *)PTR_strlen_000a6ea8" * (cast_expression "(code *)PTR_strlen_000a6ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28)" ( identifier )))) ;) }))) (expression_statement "local_60 = (undefined **)0x0;" (assignment_expression "local_60 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1)" identifier = (call_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)" ( (pointer_expression "*(code *)PTR_ldap_sasl_bind_000a6fa8" * (cast_expression "(code *)PTR_ldap_sasl_bind_000a6fa8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,uVar15,0,unaff_s1)" ( (pointer_expression "*puVar20" * identifier) , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }" { (expression_statement "*(undefined1 *)((int)puVar20 + 0x16) = 1;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x16) = 1" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x16)" * (cast_expression "(undefined1 *)((int)puVar20 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x16)" ( (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;) })) }) (else_clause "else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" else (compound_statement "{\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" { (expression_statement "local_60 = &local_40;" (assignment_expression "local_60 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34)" identifier = (call_expression "(*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34)" (parenthesized_expression "(*(code *)PTR_ldap_result_000a6c94)" ( (pointer_expression "*(code *)PTR_ldap_result_000a6c94" * (cast_expression "(code *)PTR_ldap_result_000a6c94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,puVar20[4],0,&local_34)" ( (pointer_expression "*puVar20" * identifier) , (subscript_expression "puVar20[4]" identifier [ number_literal ]) , number_literal , (pointer_expression "&local_34" & identifier) )))) ;) (if_statement "if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }" { (if_statement "if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }" { (expression_statement "local_60 = &local_38;" (assignment_expression "local_60 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0)" identifier = (call_expression "(*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0)" (parenthesized_expression "(*(code *)PTR_ldap_parse_result_000a6d74)" ( (pointer_expression "*(code *)PTR_ldap_parse_result_000a6d74" * (cast_expression "(code *)PTR_ldap_parse_result_000a6d74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,local_40,&local_3c,0)" ( (pointer_expression "*puVar20" * identifier) , identifier , (pointer_expression "&local_3c" & identifier) , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }" { (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14c0" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar2 = 0x26;" (assignment_expression "iVar2 = 0x26" identifier = number_literal) ;) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;) })) (if_statement "if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }" if (parenthesized_expression "(local_3c == 2)" ( (binary_expression "local_3c == 2" identifier == number_literal) )) (compound_statement "{\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }" { (expression_statement "unaff_s1 = &local_2c;" (assignment_expression "unaff_s1 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" ( (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" * (cast_expression "(code *)PTR_ldap_get_option_000a6abc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,0x11,unaff_s1)" ( (pointer_expression "*puVar20" * identifier) , number_literal , identifier ))) ;) (if_statement "if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }" if (parenthesized_expression "(local_2c == 3)" ( (binary_expression "local_2c == 3" identifier == number_literal) )) (compound_statement "{\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }" { (if_statement "if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }" if (parenthesized_expression "(local_38 != (undefined *)0x0)" ( (binary_expression "local_38 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_38 = (undefined *)0x0;" (assignment_expression "local_38 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_2c = 2;" (assignment_expression "local_2c = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_set_option_000a6b70)" ( (pointer_expression "*(code *)PTR_ldap_set_option_000a6b70" * (cast_expression "(code *)PTR_ldap_set_option_000a6b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,0x11,unaff_s1)" ( (pointer_expression "*puVar20" * identifier) , number_literal , identifier ))) ;) (expression_statement "*(undefined1 *)((int)puVar20 + 0x16) = 0;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x16) = 0" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x16)" * (cast_expression "(undefined1 *)((int)puVar20 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x16)" ( (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005f900;" goto statement_identifier ;) })) })) (if_statement "if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" if (parenthesized_expression "(local_3c == 0)" ( (binary_expression "local_3c == 0" identifier == number_literal) )) (compound_statement "{\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }" { (if_statement "if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }" if (parenthesized_expression "(local_38 != (undefined *)0x0)" ( (binary_expression "local_38 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;" (assignment_expression "param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4" (subscript_expression "param_1[0x6b]" identifier [ number_literal ]) = (binary_expression "PTR_LAB_000a6744 + -0x4c4" identifier + number_literal)) ;) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;) }) (else_clause "else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" else (compound_statement "{\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" { (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(0)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "puVar18 = local_38;" (assignment_expression "puVar18 = local_38" identifier = identifier) ;) (if_statement "if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }" if (parenthesized_expression "(local_38 == (undefined *)0x0)" ( (binary_expression "local_38 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }" { (expression_statement "puVar18 = PTR_UINT_000a6194 + 0x3538;" (assignment_expression "puVar18 = PTR_UINT_000a6194 + 0x3538" identifier = (binary_expression "PTR_UINT_000a6194 + 0x3538" identifier + number_literal)) ;) })) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14e8" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" if (parenthesized_expression "(local_38 == (undefined *)0x0)" ( (binary_expression "local_38 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar2 = 0x43;\n            }" { (expression_statement "iVar2 = 0x43;" (assignment_expression "iVar2 = 0x43" identifier = number_literal) ;) }) (else_clause "else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" else (compound_statement "{\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = 0x43;" (assignment_expression "iVar2 = 0x43" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005f9f4;" goto statement_identifier ;) })) (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14a0" identifier + number_literal) , identifier ))) ;) })))) (expression_statement "iVar2 = 0x26;" (assignment_expression "iVar2 = 0x26" identifier = number_literal) ;) }) (else_clause "else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" else (compound_statement "{\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" { (if_statement "if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }" if (parenthesized_expression "(*(char *)(puVar20 + 5) != '\0')" ( (binary_expression "*(char *)(puVar20 + 5) != '\0'" (pointer_expression "*(char *)(puVar20 + 5)" * (cast_expression "(char *)(puVar20 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 5)" ( (binary_expression "puVar20 + 5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }" { (labeled_statement "LAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" statement_identifier : (if_statement "if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" if (parenthesized_expression "(*(char *)((int)puVar20 + 0x15) == '\0')" ( (binary_expression "*(char *)((int)puVar20 + 0x15) == '\0'" (pointer_expression "*(char *)((int)puVar20 + 0x15)" * (cast_expression "(char *)((int)puVar20 + 0x15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x15)" ( (binary_expression "(int)puVar20 + 0x15" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" { (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" ( (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" * (cast_expression "(code *)PTR_ldap_get_option_000a6abc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,0x5008,&local_2c)" ( (pointer_expression "*puVar20" * identifier) , number_literal , (pointer_expression "&local_2c" & identifier) ))) ;) (expression_statement "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);" (call_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1)" (parenthesized_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)" ( (pointer_expression "*(code *)PTR_ber_sockbuf_add_io_000a6c64" * (cast_expression "(code *)PTR_ber_sockbuf_add_io_000a6c64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1)" ( identifier , (binary_expression "PTR_DAT_000a612c + 0x60b0" identifier + number_literal) , number_literal , identifier ))) ;) (expression_statement "uVar12 = param_1[0x6b];" (assignment_expression "uVar12 = param_1[0x6b]" identifier = (subscript_expression "param_1[0x6b]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = param_1[0x6d];" (assignment_expression "uVar15 = param_1[0x6d]" identifier = (subscript_expression "param_1[0x6d]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)puVar20 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x15)" * (cast_expression "(undefined1 *)((int)puVar20 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x15)" ( (binary_expression "(int)puVar20 + 0x15" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar20[1] = uVar12;" (assignment_expression "puVar20[1] = uVar12" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar20[2] = uVar15;" (assignment_expression "puVar20[2] = uVar15" (subscript_expression "puVar20[2]" identifier [ number_literal ]) = identifier) ;) }))) (goto_statement "goto LAB_0005f820;" goto statement_identifier ;) })) (expression_statement "iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5)" identifier = (call_expression "(*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5)" (parenthesized_expression "(*(code *)PTR_FUN_000a6288)" ( (pointer_expression "*(code *)PTR_FUN_000a6288" * (cast_expression "(code *)PTR_FUN_000a6288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0,puVar20 + 5)" ( identifier , number_literal , (binary_expression "puVar20 + 5" identifier + number_literal) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0005f9a4;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;)) (if_statement "if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;" if (parenthesized_expression "(*(char *)(puVar20 + 5) != '\0')" ( (binary_expression "*(char *)(puVar20 + 5) != '\0'" (pointer_expression "*(char *)(puVar20 + 5)" * (cast_expression "(char *)(puVar20 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 5)" ( (binary_expression "puVar20 + 5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0005f814;" goto statement_identifier ;)) (labeled_statement "LAB_0005f9f4:\n    iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_24 == *(int **)puVar5)" ( (binary_expression "local_24 == *(int **)puVar5" identifier == (pointer_expression "*(int **)puVar5" * (cast_expression "(int **)puVar5" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "piVar14 = local_24;" (assignment_expression "piVar14 = local_24" identifier = identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar18 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar3 = *(undefined4 **)(puVar18 + 0x474a4);" (assignment_expression "puVar3 = *(undefined4 **)(puVar18 + 0x474a4)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + 0x474a4)" * (cast_expression "(undefined4 **)(puVar18 + 0x474a4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x474a4)" ( (binary_expression "puVar18 + 0x474a4" identifier + number_literal) ))))) ;) (expression_statement "local_8c = puVar5;" (assignment_expression "local_8c = puVar5" identifier = identifier) ;) (expression_statement "iVar29 = *piVar14;" (assignment_expression "iVar29 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "local_9c = (int *)*puVar3;" (assignment_expression "local_9c = (int *)*puVar3" identifier = (cast_expression "(int *)*puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "puVar23 = (undefined4 *)piVar14[300];" (assignment_expression "puVar23 = (undefined4 *)piVar14[300]" identifier = (cast_expression "(undefined4 *)piVar14[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[300]" identifier [ number_literal ]))) ;) (expression_statement "puVar13 = *(undefined4 **)(iVar29 + 0x154);" (assignment_expression "puVar13 = *(undefined4 **)(iVar29 + 0x154)" identifier = (pointer_expression "*(undefined4 **)(iVar29 + 0x154)" * (cast_expression "(undefined4 **)(iVar29 + 0x154)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x154)" ( (binary_expression "iVar29 + 0x154" identifier + number_literal) ))))) ;) (expression_statement "local_b0[2] = 1;" (assignment_expression "local_b0[2] = 1" (subscript_expression "local_b0[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b0[1] = 0;" (assignment_expression "local_b0[1] = 0" (subscript_expression "local_b0[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98 = puVar20;" (assignment_expression "local_98 = puVar20" identifier = identifier) ;) (expression_statement "local_94 = unaff_s1;" (assignment_expression "local_94 = unaff_s1" identifier = identifier) ;) (expression_statement "local_90 = param_1;" (assignment_expression "local_90 = param_1" identifier = identifier) ;) (expression_statement "local_88 = uVar24;" (assignment_expression "local_88 = uVar24" identifier = identifier) ;) (expression_statement "local_84 = param_2;" (assignment_expression "local_84 = param_2" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" identifier = (call_expression "(**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47158))" ( (pointer_expression "**(code **)(puVar18 + 0x47158)" * (pointer_expression "*(code **)(puVar18 + 0x47158)" * (cast_expression "(code **)(puVar18 + 0x47158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47158)" ( (binary_expression "puVar18 + 0x47158" identifier + number_literal) ))))) )) (argument_list "(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" ( (pointer_expression "*puVar23" * identifier) , (pointer_expression "*puVar13" * identifier) , number_literal , (binary_expression "local_b0 + 1" identifier + number_literal) , (pointer_expression "&local_c0" & identifier) )))) ;) (if_statement "if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }" { (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;) (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x47170))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" ( (pointer_expression "**(code **)(puVar18 + 0x47170)" * (pointer_expression "*(code **)(puVar18 + 0x47170)" * (cast_expression "(code **)(puVar18 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47170)" ( (binary_expression "puVar18 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);" (call_expression "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" ( (pointer_expression "**(code **)(puVar18 + 0x46610)" * (pointer_expression "*(code **)(puVar18 + 0x46610)" * (cast_expression "(code **)(puVar18 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46610)" ( (binary_expression "puVar18 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1508" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "*local_60 = (undefined *)0x38;" (assignment_expression "*local_60 = (undefined *)0x38" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x38" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" else (compound_statement "{\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" { (expression_statement "*local_60 = (undefined *)0x51;" (assignment_expression "*local_60 = (undefined *)0x51" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x51" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" if (parenthesized_expression "(local_c0 == 0)" ( (binary_expression "local_c0 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005ff98:\n      iVar25 = -1;\n    }" { (labeled_statement "LAB_0005ff98:\n      iVar25 = -1;" statement_identifier : (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;)) }) (else_clause "else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" else (compound_statement "{\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" { (expression_statement "iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23)" identifier = (call_expression "(**(code **)(puVar18 + 0x46dd8))(*puVar23)" (parenthesized_expression "(**(code **)(puVar18 + 0x46dd8))" ( (pointer_expression "**(code **)(puVar18 + 0x46dd8)" * (pointer_expression "*(code **)(puVar18 + 0x46dd8)" * (cast_expression "(code **)(puVar18 + 0x46dd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46dd8)" ( (binary_expression "puVar18 + 0x46dd8" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;) (if_statement "if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }" { (expression_statement "iVar26 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar26 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar27 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar25 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (do_statement "do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);" do (compound_statement "{\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        }" { (expression_statement "iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);" (assignment_expression "iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x47068))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47068))" ( (pointer_expression "**(code **)(puVar18 + 0x47068)" * (pointer_expression "*(code **)(puVar18 + 0x47068)" * (cast_expression "(code **)(puVar18 + 0x47068)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47068)" ( (binary_expression "puVar18 + 0x47068" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (if_statement "if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }" if (parenthesized_expression "(iVar4 == 0x65)" ( (binary_expression "iVar4 == 0x65" identifier == number_literal) )) (compound_statement "{\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }" { (expression_statement "local_b0[3] = 0;" (assignment_expression "local_b0[3] = 0" (subscript_expression "local_b0[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" identifier = (call_expression "(**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47238))" ( (pointer_expression "**(code **)(puVar18 + 0x47238)" * (pointer_expression "*(code **)(puVar18 + 0x47238)" * (cast_expression "(code **)(puVar18 + 0x47238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47238)" ( (binary_expression "puVar18 + 0x47238" identifier + number_literal) ))))) )) (argument_list "(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" ( (pointer_expression "*puVar23" * identifier) , identifier , identifier , number_literal , (binary_expression "local_b0 + 3" identifier + number_literal) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }" { (if_statement "if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }" if (parenthesized_expression "(local_b0[0] != 0)" ( (binary_expression "local_b0[0] != 0" (subscript_expression "local_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }" { (if_statement "if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }" if (parenthesized_expression "(local_b0[0] != 4)" ( (binary_expression "local_b0[0] != 4" (subscript_expression "local_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }" { (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(0);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(0)" identifier = (call_expression "(**(code **)(puVar18 + 0x47170))(0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" ( (pointer_expression "**(code **)(puVar18 + 0x47170)" * (pointer_expression "*(code **)(puVar18 + 0x47170)" * (cast_expression "(code **)(puVar18 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47170)" ( (binary_expression "puVar18 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar6 = local_b0[3];" (assignment_expression "uVar6 = local_b0[3]" identifier = (subscript_expression "local_b0[3]" identifier [ number_literal ])) ;) (if_statement "if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }" if (parenthesized_expression "(local_b0[3] == 0)" ( (binary_expression "local_b0[3] == 0" (subscript_expression "local_b0[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }" { (expression_statement "uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;" (assignment_expression "uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538" identifier = (binary_expression "*(int *)(puVar18 + 0x46658) + 0x3538" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "(**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);" (call_expression "(**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" ( (pointer_expression "**(code **)(puVar18 + 0x46610)" * (pointer_expression "*(code **)(puVar18 + 0x46610)" * (cast_expression "(code **)(puVar18 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46610)" ( (binary_expression "puVar18 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1554" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_00060368;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);" (call_expression "(**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1])" (parenthesized_expression "(**(code **)(puVar18 + 0x46670))" ( (pointer_expression "**(code **)(puVar18 + 0x46670)" * (pointer_expression "*(code **)(puVar18 + 0x46670)" * (cast_expression "(code **)(puVar18 + 0x46670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46670)" ( (binary_expression "puVar18 + 0x46670" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1])" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1578" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar13[1]" identifier [ number_literal ]) ))) ;) })) (expression_statement "*(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);" (assignment_expression "*(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc)" (pointer_expression "*(undefined4 *)(iVar29 + 0x9c)" * (cast_expression "(undefined4 *)(iVar29 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x9c)" ( (binary_expression "iVar29 + 0x9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0xbc)" * (cast_expression "(undefined4 *)(iVar29 + 0xbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);" (assignment_expression "*(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8)" (pointer_expression "*(undefined4 *)(iVar29 + 0x98)" * (cast_expression "(undefined4 *)(iVar29 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x98)" ( (binary_expression "iVar29 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0xb8)" * (cast_expression "(undefined4 *)(iVar29 + 0xb8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "*local_60 = (undefined *)0x0;" (assignment_expression "*local_60 = (undefined *)0x0" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" else (compound_statement "{\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" { (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x47170))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" ( (pointer_expression "**(code **)(puVar18 + 0x47170)" * (pointer_expression "*(code **)(puVar18 + 0x47170)" * (cast_expression "(code **)(puVar18 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47170)" ( (binary_expression "puVar18 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);" (call_expression "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" ( (pointer_expression "**(code **)(puVar18 + 0x46610)" * (pointer_expression "*(code **)(puVar18 + 0x46610)" * (cast_expression "(code **)(puVar18 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46610)" ( (binary_expression "puVar18 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x152c" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_00060368:\n              iVar25 = -1;" statement_identifier : (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;)) (expression_statement "*local_60 = (undefined *)0x27;" (assignment_expression "*local_60 = (undefined *)0x27" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x27" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x47018);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x47018)" identifier = (pointer_expression "*(code **)(puVar18 + 0x47018)" * (cast_expression "(code **)(puVar18 + 0x47018)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47018)" ( (binary_expression "puVar18 + 0x47018" identifier + number_literal) ))))) ;) (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "(*pcVar28)(local_b0[3]);" (call_expression "(*pcVar28)(local_b0[3])" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_b0[3])" ( (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0006023c;" goto statement_identifier ;) })) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (if_statement "if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }" { (expression_statement "piVar22 = local_b0 + 3;" (assignment_expression "piVar22 = local_b0 + 3" identifier = (binary_expression "local_b0 + 3" identifier + number_literal)) ;) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x472b8);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x472b8)" identifier = (pointer_expression "*(code **)(puVar18 + 0x472b8)" * (cast_expression "(code **)(puVar18 + 0x472b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x472b8)" ( (binary_expression "puVar18 + 0x472b8" identifier + number_literal) ))))) ;) (expression_statement "puVar13[1] = puVar13[1] + 1;" (assignment_expression "puVar13[1] = puVar13[1] + 1" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = (binary_expression "puVar13[1] + 1" (subscript_expression "puVar13[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);" (assignment_expression "iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22)" identifier = (call_expression "(*pcVar28)(uVar24,iVar2,&local_bc,piVar22)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uVar24,iVar2,&local_bc,piVar22)" ( identifier , identifier , (pointer_expression "&local_bc" & identifier) , identifier )))) ;) (if_statement "if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n              *local_60 = (undefined *)0x38;\n            }" { (expression_statement "*local_60 = (undefined *)0x38;" (assignment_expression "*local_60 = (undefined *)0x38" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x38" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" else (compound_statement "{\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" { (expression_statement "puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);" (assignment_expression "puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" identifier = (cast_expression "(undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" ( identifier , number_literal , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1598" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }" if (parenthesized_expression "((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0))" ( (binary_expression "(puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)" (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" identifier = (cast_expression "(undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" ( identifier , number_literal , (subscript_expression "local_b0[4]" identifier [ number_literal ]) , (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }" { (expression_statement "iVar4 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar4 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);" (assignment_expression "puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" identifier = (cast_expression "(undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,1)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }" { (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x46f38);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x46f38)" identifier = (pointer_expression "*(code **)(puVar18 + 0x46f38)" * (cast_expression "(code **)(puVar18 + 0x46f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46f38)" ( (binary_expression "puVar18 + 0x46f38" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + local_b0[3] + 5U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 5U" identifier = (binary_expression "uVar6 + local_b0[3] + 5U" (binary_expression "uVar6 + local_b0[3]" identifier + (subscript_expression "local_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);" (assignment_expression "iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8)" identifier = (call_expression "(*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uVar24,iVar2,local_bc,piVar22,&local_b8)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_b8" & identifier) )))) ;) (if_statement "if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }" if (parenthesized_expression "((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0))" ( (binary_expression "(iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)" ( (comma_expression "iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0" (assignment_expression "iVar7 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) , (binary_expression "local_b0[4] != 0" (subscript_expression "local_b0[4]" identifier [ number_literal ]) != number_literal)) ))) )) (compound_statement "{\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }" { (expression_statement "iVar8 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar8 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (do_statement "do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));" do (compound_statement "{\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    }" { (if_statement "if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" if (parenthesized_expression "((uint)local_b0[3] < 8)" ( (binary_expression "(uint)local_b0[3] < 8" (cast_expression "(uint)local_b0[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_b0[3]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (local_b8 != 0) goto LAB_0005fda8;" if (parenthesized_expression "(local_b8 != 0)" ( (binary_expression "local_b8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005fda8;" goto statement_identifier ;)) (labeled_statement "LAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" statement_identifier : (expression_statement "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" (assignment_expression "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" identifier = (cast_expression "(undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar25 + -0x79f8,1)" ( identifier , number_literal , (binary_expression "iVar25 + -0x79f8" identifier + number_literal) , number_literal ))))) ;)) (if_statement "if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "(((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0))" ( (binary_expression "((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)" (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0))" ( (binary_expression "(puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" identifier = (cast_expression "(undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" ( identifier , number_literal , (subscript_expression "local_b0[4]" identifier [ number_literal ]) , (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar8 + 0x3900,2)" ( identifier , number_literal , (binary_expression "iVar8 + 0x3900" identifier + number_literal) , number_literal ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + local_b0[3] + 3U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 3U" identifier = (binary_expression "uVar6 + local_b0[3] + 3U" (binary_expression "uVar6 + local_b0[3]" identifier + (subscript_expression "local_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" else (compound_statement "{\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" { (expression_statement "iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);" (assignment_expression "iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" identifier = (call_expression "(**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" (parenthesized_expression "(**(code **)(puVar18 + 0x47058))" ( (pointer_expression "**(code **)(puVar18 + 0x47058)" * (pointer_expression "*(code **)(puVar18 + 0x47058)" * (cast_expression "(code **)(puVar18 + 0x47058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47058)" ( (binary_expression "puVar18 + 0x47058" identifier + number_literal) ))))) )) (argument_list "(local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" ( (binary_expression "local_b0[4] + (local_b0[3] - 7U)" (subscript_expression "local_b0[4]" identifier [ number_literal ]) + (parenthesized_expression "(local_b0[3] - 7U)" ( (binary_expression "local_b0[3] - 7U" (subscript_expression "local_b0[3]" identifier [ number_literal ]) - number_literal) ))) , (binary_expression "iVar7 + 0x15a0" identifier + number_literal) , number_literal )))) ;) (expression_statement "bVar1 = iVar9 == 0;" (assignment_expression "bVar1 = iVar9 == 0" identifier = (binary_expression "iVar9 == 0" identifier == number_literal)) ;) (if_statement "if (local_b8 == 0) goto LAB_0005ffec;" if (parenthesized_expression "(local_b8 == 0)" ( (binary_expression "local_b8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005ffec;" goto statement_identifier ;)) (labeled_statement "LAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);" statement_identifier : (expression_statement "iVar9 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar9 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;)) (if_statement "if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }" if (parenthesized_expression "(*(int *)(local_b8 + 4) != 0)" ( (binary_expression "*(int *)(local_b8 + 4) != 0" (pointer_expression "*(int *)(local_b8 + 4)" * (cast_expression "(int *)(local_b8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + 4)" ( (binary_expression "local_b8 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);" do (compound_statement "{\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          }" { (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar25 + -0x79f8,1)" ( identifier , number_literal , (binary_expression "iVar25 + -0x79f8" identifier + number_literal) , number_literal ))))) ;) (if_statement "if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0))" ( (binary_expression "(puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" identifier = (cast_expression "(undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" ( identifier , number_literal , (subscript_expression "local_b0[4]" identifier [ number_literal ]) , (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar26 + -0x7558,1)" ( identifier , number_literal , (binary_expression "iVar26 + -0x7558" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }" { (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" * identifier) = identifier) ;) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + local_b0[3] + 2U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 2U" identifier = (binary_expression "uVar6 + local_b0[3] + 2U" (binary_expression "uVar6 + local_b0[3]" identifier + (subscript_expression "local_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)(local_b8 + iVar21);" (assignment_expression "puVar20 = (undefined4 *)(local_b8 + iVar21)" identifier = (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar16 = (undefined1 *)puVar20[1];" (assignment_expression "puVar16 = (undefined1 *)puVar20[1]" identifier = (cast_expression "(undefined1 *)puVar20[1]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[1]" identifier [ number_literal ]))) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (if_statement "if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }" { (labeled_statement "LAB_0005fdc0:\n                              local_b4 = 0;" statement_identifier : (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;)) (expression_statement "local_b0[0] = 0;" (assignment_expression "local_b0[0] = 0" (subscript_expression "local_b0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" identifier = (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4677c))" ( (pointer_expression "**(code **)(puVar18 + 0x4677c)" * (pointer_expression "*(code **)(puVar18 + 0x4677c)" * (cast_expression "(code **)(puVar18 + 0x4677c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x4677c)" ( (binary_expression "puVar18 + 0x4677c" identifier + number_literal) ))))) )) (argument_list "(iVar29,puVar16,*puVar20,&local_b4,local_b0)" ( identifier , identifier , (pointer_expression "*puVar20" * identifier) , (pointer_expression "&local_b4" & identifier) , identifier ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }" { (expression_statement "(**(code **)(puVar18 + 0x47028))(local_b8);" (call_expression "(**(code **)(puVar18 + 0x47028))(local_b8)" (parenthesized_expression "(**(code **)(puVar18 + 0x47028))" ( (pointer_expression "**(code **)(puVar18 + 0x47028)" * (pointer_expression "*(code **)(puVar18 + 0x47028)" * (cast_expression "(code **)(puVar18 + 0x47028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47028)" ( (binary_expression "puVar18 + 0x47028" identifier + number_literal) ))))) )) (argument_list "(local_b8)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar18 + 0x46fbc))(local_bc,0);" (call_expression "(**(code **)(puVar18 + 0x46fbc))(local_bc,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46fbc))" ( (pointer_expression "**(code **)(puVar18 + 0x46fbc)" * (pointer_expression "*(code **)(puVar18 + 0x46fbc)" * (cast_expression "(code **)(puVar18 + 0x46fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46fbc)" ( (binary_expression "puVar18 + 0x46fbc" identifier + number_literal) ))))) )) (argument_list "(local_bc,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar18 + 0x4725c))(local_c0);" (call_expression "(**(code **)(puVar18 + 0x4725c))(local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4725c))" ( (pointer_expression "**(code **)(puVar18 + 0x4725c)" * (pointer_expression "*(code **)(puVar18 + 0x4725c)" * (cast_expression "(code **)(puVar18 + 0x4725c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x4725c)" ( (binary_expression "puVar18 + 0x4725c" identifier + number_literal) ))))) )) (argument_list "(local_c0)" ( identifier ))) ;) (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" * identifier) = identifier) ;) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" identifier = (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar27 + 0x2cb4,2)" ( identifier , number_literal , (binary_expression "iVar27 + 0x2cb4" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 2;" (assignment_expression "uVar19 = uVar6 + 2" identifier = (binary_expression "uVar6 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (if_statement "if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }" if (parenthesized_expression "(local_b0[0] != 0)" ( (binary_expression "local_b0[0] != 0" (subscript_expression "local_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }" { (expression_statement "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);" (assignment_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" identifier = (cast_expression "(undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b4)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }" { (expression_statement "(*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);" (call_expression "(*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4)" (parenthesized_expression "(*(code *)**(undefined4 **)(puVar18 + 0x46608))" ( (pointer_expression "*(code *)**(undefined4 **)(puVar18 + 0x46608)" * (cast_expression "(code *)**(undefined4 **)(puVar18 + 0x46608)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar18 + 0x46608)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x46608)" * (cast_expression "(undefined4 **)(puVar18 + 0x46608)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46608)" ( (binary_expression "puVar18 + 0x46608" identifier + number_literal) ))))))) )) (argument_list "(local_b4)" ( identifier ))) ;) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar29 + 0xb8);" (assignment_expression "iVar17 = *(int *)(iVar29 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = local_b0[0];" (assignment_expression "iVar10 = local_b0[0]" identifier = (subscript_expression "local_b0[0]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0005ff78;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;) })) }) (else_clause "else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" else (compound_statement "{\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" { (expression_statement "iVar10 = FUN_00073fc0(*puVar16);" (assignment_expression "iVar10 = FUN_00073fc0(*puVar16)" identifier = (call_expression "FUN_00073fc0(*puVar16)" identifier (argument_list "(*puVar16)" ( (pointer_expression "*puVar16" * identifier) )))) ;) (if_statement "if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }" if (parenthesized_expression "((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0))" ( (binary_expression "(iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)" ( (comma_expression "iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0" (assignment_expression "iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" identifier = (call_expression "FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" identifier (argument_list "(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" ( (pointer_expression "*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" * (cast_expression "(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" ( (binary_expression "((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1" (binary_expression "((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21)" (subscript_expression "((int *)(local_b8 + iVar21))[1]" (parenthesized_expression "((int *)(local_b8 + iVar21))" ( (cast_expression "(int *)(local_b8 + iVar21)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) ))) )) [ number_literal ]) + (pointer_expression "*(int *)(local_b8 + iVar21)" * (cast_expression "(int *)(local_b8 + iVar21)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) ))))) + number_literal) )))) )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }" { (labeled_statement "LAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);" statement_identifier : (expression_statement "puVar20 = (undefined4 *)(local_b8 + iVar21);" (assignment_expression "puVar20 = (undefined4 *)(local_b8 + iVar21)" identifier = (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;)) (expression_statement "puVar16 = (undefined1 *)puVar20[1];" (assignment_expression "puVar16 = (undefined1 *)puVar20[1]" identifier = (cast_expression "(undefined1 *)puVar20[1]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0005fdc0;" goto statement_identifier ;) })) (expression_statement "puVar11 = (uint *)(local_b8 + iVar21);" (assignment_expression "puVar11 = (uint *)(local_b8 + iVar21)" identifier = (cast_expression "(uint *)(local_b8 + iVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }" if (parenthesized_expression "(*puVar11 != 0)" ( (binary_expression "*puVar11 != 0" (pointer_expression "*puVar11" * identifier) != number_literal) )) (compound_statement "{\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }" { (do_statement "do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);" do (compound_statement "{\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                }" { (expression_statement "iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));" (assignment_expression "iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6))" identifier = (call_expression "FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6))" identifier (argument_list "(*(undefined1 *)(puVar11[1] + uVar6))" ( (pointer_expression "*(undefined1 *)(puVar11[1] + uVar6)" * (cast_expression "(undefined1 *)(puVar11[1] + uVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11[1] + uVar6)" ( (binary_expression "puVar11[1] + uVar6" (subscript_expression "puVar11[1]" identifier [ number_literal ]) + identifier) )))) )))) ;) (if_statement "if (iVar10 == 0) goto LAB_0005ff2c;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005ff2c;" goto statement_identifier ;)) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = (uint *)(local_b8 + iVar21);" (assignment_expression "puVar11 = (uint *)(local_b8 + iVar21)" identifier = (cast_expression "(uint *)(local_b8 + iVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;) }) while (parenthesized_expression "(uVar6 < *puVar11)" ( (binary_expression "uVar6 < *puVar11" identifier < (pointer_expression "*puVar11" * identifier)) )) ;) })) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" identifier = (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar9 + 0x3290,1)" ( identifier , number_literal , (binary_expression "iVar9 + 0x3290" identifier + number_literal) , number_literal ))))) ;) (if_statement "if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0))" ( (binary_expression "(puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" identifier = (cast_expression "(undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" ( identifier , number_literal , (subscript_expression "((undefined4 *)(local_b8 + iVar21))[1]" (parenthesized_expression "((undefined4 *)(local_b8 + iVar21))" ( (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) ))) )) [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_b8 + iVar21)" * (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar29 + 0xb8);" (assignment_expression "iVar17 = *(int *)(iVar29 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(local_b8 + iVar21) + 1;" (assignment_expression "iVar10 = *(int *)(local_b8 + iVar21) + 1" identifier = (binary_expression "*(int *)(local_b8 + iVar21) + 1" (pointer_expression "*(int *)(local_b8 + iVar21)" * (cast_expression "(int *)(local_b8 + iVar21)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) + number_literal)) ;) (labeled_statement "LAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;" statement_identifier : (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar6 + iVar10" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = (binary_expression "uVar6 + iVar10" identifier + identifier)) ;)) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar6 + iVar10 < uVar6) + iVar17" (call_expression "(uint)(uVar6 + iVar10 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 + iVar10 < uVar6)" ( (binary_expression "uVar6 + iVar10 < uVar6" (binary_expression "uVar6 + iVar10" identifier + identifier) < identifier) ))) + identifier)) ;) }))) (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "iVar21 = iVar21 + 8;" (assignment_expression "iVar21 = iVar21 + 8" identifier = (binary_expression "iVar21 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(local_b8 + iVar21 + 4);" (assignment_expression "iVar10 = *(int *)(local_b8 + iVar21 + 4)" identifier = (pointer_expression "*(int *)(local_b8 + iVar21 + 4)" * (cast_expression "(int *)(local_b8 + iVar21 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21 + 4)" ( (binary_expression "local_b8 + iVar21 + 4" (binary_expression "local_b8 + iVar21" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) })) (expression_statement "(**(code **)(puVar18 + 0x47028))();" (call_expression "(**(code **)(puVar18 + 0x47028))()" (parenthesized_expression "(**(code **)(puVar18 + 0x47028))" ( (pointer_expression "**(code **)(puVar18 + 0x47028)" * (pointer_expression "*(code **)(puVar18 + 0x47028)" * (cast_expression "(code **)(puVar18 + 0x47028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47028)" ( (binary_expression "puVar18 + 0x47028" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" identifier = (cast_expression "(undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) }))) (expression_statement "iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);" (assignment_expression "iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8)" identifier = (call_expression "(**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8)" (parenthesized_expression "(**(code **)(puVar18 + 0x46f38))" ( (pointer_expression "**(code **)(puVar18 + 0x46f38)" * (pointer_expression "*(code **)(puVar18 + 0x46f38)" * (cast_expression "(code **)(puVar18 + 0x46f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46f38)" ( (binary_expression "puVar18 + 0x46f38" identifier + number_literal) ))))) )) (argument_list "(*puVar23,iVar2,local_bc,piVar22,&local_b8)" ( (pointer_expression "*puVar23" * identifier) , identifier , identifier , identifier , (pointer_expression "&local_b8" & identifier) )))) ;) }) while (parenthesized_expression "((iVar9 == 0) && (local_b0[4] != 0))" ( (binary_expression "(iVar9 == 0) && (local_b0[4] != 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_b0[4] != 0)" ( (binary_expression "local_b0[4] != 0" (subscript_expression "local_b0[4]" identifier [ number_literal ]) != number_literal) ))) )) ;) })) (expression_statement "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" identifier = (cast_expression "(undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }" { (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x46fbc);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x46fbc)" identifier = (pointer_expression "*(code **)(puVar18 + 0x46fbc)" * (cast_expression "(code **)(puVar18 + 0x46fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46fbc)" ( (binary_expression "puVar18 + 0x46fbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "(*pcVar28)(local_bc,0);" (call_expression "(*pcVar28)(local_bc,0)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_bc,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (goto_statement "goto LAB_0005fc30;" goto statement_identifier ;) })) })) })) (labeled_statement "LAB_0005ff90:\n              *local_60 = puVar5;" statement_identifier : (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" * identifier) = identifier) ;)) }))) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (labeled_statement "LAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);" statement_identifier : (expression_statement "iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46ea0))" ( (pointer_expression "**(code **)(puVar18 + 0x46ea0)" * (pointer_expression "*(code **)(puVar18 + 0x46ea0)" * (cast_expression "(code **)(puVar18 + 0x46ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46ea0)" ( (binary_expression "puVar18 + 0x46ea0" identifier + number_literal) ))))) )) (argument_list "(uVar24,iVar2)" ( identifier , identifier )))) ;)) }) while (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;) (labeled_statement "LAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);" statement_identifier : (expression_statement "(**(code **)(puVar18 + 0x4725c))(local_c0);" (call_expression "(**(code **)(puVar18 + 0x4725c))(local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4725c))" ( (pointer_expression "**(code **)(puVar18 + 0x4725c)" * (pointer_expression "*(code **)(puVar18 + 0x4725c)" * (cast_expression "(code **)(puVar18 + 0x4725c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x4725c)" ( (binary_expression "puVar18 + 0x4725c" identifier + number_literal) ))))) )) (argument_list "(local_c0)" ( identifier ))) ;)) }))) }))) (if_statement "if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }" if (parenthesized_expression "(local_9c != (int *)*puVar3)" ( (binary_expression "local_9c != (int *)*puVar3" identifier != (cast_expression "(int *)*puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) )) (compound_statement "{\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }" { (expression_statement "pcVar28 = *(code **)(puVar18 + 0x47118);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x47118)" identifier = (pointer_expression "*(code **)(puVar18 + 0x47118)" * (cast_expression "(code **)(puVar18 + 0x47118)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47118)" ( (binary_expression "puVar18 + 0x47118" identifier + number_literal) ))))) ;) (expression_statement "piVar14 = local_9c;" (assignment_expression "piVar14 = local_9c" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar22 = *(int **)(iVar2 + 0x154);" (assignment_expression "piVar22 = *(int **)(iVar2 + 0x154)" identifier = (pointer_expression "*(int **)(iVar2 + 0x154)" * (cast_expression "(int **)(iVar2 + 0x154)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x154)" ( (binary_expression "iVar2 + 0x154" identifier + number_literal) ))))) ;) (if_statement "if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }" if (parenthesized_expression "(piVar22 != (int *)0x0)" ( (binary_expression "piVar22 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }" { (if_statement "if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }" if (parenthesized_expression "(*piVar22 != 0)" ( (binary_expression "*piVar22 != 0" (pointer_expression "*piVar22" * identifier) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);" (call_expression "(**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x46ad4))" ( (pointer_expression "**(code **)(pcVar28 + 0x46ad4)" * (pointer_expression "*(code **)(pcVar28 + 0x46ad4)" * (cast_expression "(code **)(pcVar28 + 0x46ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x46ad4)" ( (binary_expression "pcVar28 + 0x46ad4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar14[300],*piVar22,0,0)" ( (pointer_expression "*(undefined4 *)piVar14[300]" * (cast_expression "(undefined4 *)piVar14[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[300]" identifier [ number_literal ]))) , (pointer_expression "*piVar22" * identifier) , number_literal , number_literal ))) ;) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*piVar22 = 0;" (assignment_expression "*piVar22 = 0" (pointer_expression "*piVar22" * identifier) = number_literal) ;) })) (expression_statement "*(undefined4 *)(iVar2 + 0x154) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x154) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x154)" * (cast_expression "(undefined4 *)(iVar2 + 0x154)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x154)" ( (binary_expression "iVar2 + 0x154" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);" (call_expression "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar28 + 0x45d28)" * (cast_expression "(code *)**(undefined4 **)(pcVar28 + 0x45d28)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar28 + 0x45d28)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x45d28)" * (cast_expression "(undefined4 **)(pcVar28 + 0x45d28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x45d28)" ( (binary_expression "pcVar28 + 0x45d28" identifier + number_literal) ))))))) )) (argument_list "(piVar22)" ( identifier ))) ;) })) (return_statement "return 0;" return number_literal ;) })) (return_statement "return iVar25;" 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 ldap_connecting(connectdata *conn,_Bool *done)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  Curl_send *pCVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  LDAPMessage *pLVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  CURLcode CVar13;\n  uint *puVar14;\n  Curl_recv *pCVar15;\n  undefined4 *puVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  byte *pbVar20;\n  int iVar21;\n  uint uVar22;\n  tftp_state_data *ptVar23;\n  Sockbuf **unaff_s1;\n  int iVar24;\n  int *piVar25;\n  undefined4 *puVar26;\n  Curl_easy *pCVar27;\n  int iVar28;\n  int iVar29;\n  int iVar30;\n  undefined *puVar31;\n  code *pcVar32;\n  int iVar33;\n  int iStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b8;\n  undefined4 uStack_b4;\n  int aiStack_b0 [5];\n  int *piStack_9c;\n  tftp_state_data *ptStack_98;\n  Sockbuf **ppSStack_94;\n  connectdata *pcStack_90;\n  undefined *puStack_8c;\n  Curl_easy *pCStack_88;\n  _Bool *p_Stack_84;\n  LDAPMessage **ppLStack_60;\n  LDAPMessage *msg;\n  int err;\n  char *info;\n  timeval tv;\n  Sockbuf *sb;\n  char *pcStack_28;\n  int *local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  msg = (LDAPMessage *)0x0;\n  tv.tv_sec = 0;\n  tv.tv_usec = 1;\n  info = (char *)0x0;\n  ptVar23 = (conn->proto).tftpc;\n  pCVar27 = conn->data;\n  if ((conn->handler->flags & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }\n    else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }\n  }\n  else {\n    if (*(char *)&ptVar23->sockfd != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }\n    CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);\n    if (CVar13 == CURLE_OK) {\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar2) {\n    return CVar13;\n  }\n  piVar17 = local_24;\n  puVar31 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar5 = *(undefined4 **)(puVar31 + 0x474a4);\n  puStack_8c = puVar2;\n  iVar33 = *piVar17;\n  piStack_9c = (int *)*puVar5;\n  puVar26 = (undefined4 *)piVar17[300];\n  puVar16 = *(undefined4 **)(iVar33 + 0x154);\n  aiStack_b0[2] = 1;\n  iStack_c0 = 0;\n  uStack_bc = 0;\n  aiStack_b0[1] = 0;\n  ptStack_98 = ptVar23;\n  ppSStack_94 = unaff_s1;\n  pcStack_90 = conn;\n  pCStack_88 = pCVar27;\n  p_Stack_84 = done;\n  iVar3 = (**(code **)(puVar31 + 0x47158))(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0);\n  if (iVar3 < 0) {\n    CVar13 = ~CURLE_OK;\n    uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n    (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18);\n    *ppLStack_60 = (LDAPMessage *)0x38;\n    goto LAB_0005ff9c;\n  }\n  *ppLStack_60 = (LDAPMessage *)0x51;\n  if (iStack_c0 != 0) {\n    iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26);\n    if (iVar3 != 0) {\n      iVar29 = *(int *)(puVar31 + 0x46658);\n      iVar30 = *(int *)(puVar31 + 0x46658);\n      iVar28 = *(int *)(puVar31 + 0x46658);\n      do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);\n    }\n    CVar13 = ~CURLE_OK;\nLAB_0006023c:\n    (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n    goto LAB_0005ff9c;\n  }\n  goto LAB_0005ff98;\n  while ((iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),\n         iVar11 == 0 && (aiStack_b0[4] != 0))) {\nLAB_0005fd74:\n    if ((uint)aiStack_b0[3] < 8) {\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n    else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n  }\nLAB_000600a8:\n  pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n  if (pLVar7 == (LDAPMessage *)0x0) {\n    uVar8 = *(uint *)(iVar33 + 0xbc);\n    pcVar32 = *(code **)(puVar31 + 0x46fbc);\n    uVar22 = uVar8 + 1;\n    *(uint *)(iVar33 + 0xbc) = uVar22;\n    *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    (*pcVar32)(uStack_bc,0);\n    CVar13 = FUN_0005fc30(*puVar26);\n    return CVar13;\n  }\nLAB_0005ff90:\n  *ppLStack_60 = pLVar7;\nLAB_0005ff98:\n  CVar13 = ~CURLE_OK;\nLAB_0005ff9c:\n  if (piStack_9c != (int *)*puVar5) {\n    pcVar32 = *(code **)(puVar31 + 0x47118);\n    piVar17 = piStack_9c;\n    (*pcVar32)();\n    iVar3 = *piVar17;\n    piVar25 = *(int **)(iVar3 + 0x154);\n    if (piVar25 != (int *)0x0) {\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }\n    return CURLE_OK;\n  }\n  return CVar13;\n}\n\n" comment comment (function_definition "CURLcode ldap_connecting(connectdata *conn,_Bool *done)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  Curl_send *pCVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  LDAPMessage *pLVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  CURLcode CVar13;\n  uint *puVar14;\n  Curl_recv *pCVar15;\n  undefined4 *puVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  byte *pbVar20;\n  int iVar21;\n  uint uVar22;\n  tftp_state_data *ptVar23;\n  Sockbuf **unaff_s1;\n  int iVar24;\n  int *piVar25;\n  undefined4 *puVar26;\n  Curl_easy *pCVar27;\n  int iVar28;\n  int iVar29;\n  int iVar30;\n  undefined *puVar31;\n  code *pcVar32;\n  int iVar33;\n  int iStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b8;\n  undefined4 uStack_b4;\n  int aiStack_b0 [5];\n  int *piStack_9c;\n  tftp_state_data *ptStack_98;\n  Sockbuf **ppSStack_94;\n  connectdata *pcStack_90;\n  undefined *puStack_8c;\n  Curl_easy *pCStack_88;\n  _Bool *p_Stack_84;\n  LDAPMessage **ppLStack_60;\n  LDAPMessage *msg;\n  int err;\n  char *info;\n  timeval tv;\n  Sockbuf *sb;\n  char *pcStack_28;\n  int *local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  msg = (LDAPMessage *)0x0;\n  tv.tv_sec = 0;\n  tv.tv_usec = 1;\n  info = (char *)0x0;\n  ptVar23 = (conn->proto).tftpc;\n  pCVar27 = conn->data;\n  if ((conn->handler->flags & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }\n    else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }\n  }\n  else {\n    if (*(char *)&ptVar23->sockfd != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }\n    CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);\n    if (CVar13 == CURLE_OK) {\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar2) {\n    return CVar13;\n  }\n  piVar17 = local_24;\n  puVar31 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar5 = *(undefined4 **)(puVar31 + 0x474a4);\n  puStack_8c = puVar2;\n  iVar33 = *piVar17;\n  piStack_9c = (int *)*puVar5;\n  puVar26 = (undefined4 *)piVar17[300];\n  puVar16 = *(undefined4 **)(iVar33 + 0x154);\n  aiStack_b0[2] = 1;\n  iStack_c0 = 0;\n  uStack_bc = 0;\n  aiStack_b0[1] = 0;\n  ptStack_98 = ptVar23;\n  ppSStack_94 = unaff_s1;\n  pcStack_90 = conn;\n  pCStack_88 = pCVar27;\n  p_Stack_84 = done;\n  iVar3 = (**(code **)(puVar31 + 0x47158))(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0);\n  if (iVar3 < 0) {\n    CVar13 = ~CURLE_OK;\n    uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n    (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18);\n    *ppLStack_60 = (LDAPMessage *)0x38;\n    goto LAB_0005ff9c;\n  }\n  *ppLStack_60 = (LDAPMessage *)0x51;\n  if (iStack_c0 != 0) {\n    iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26);\n    if (iVar3 != 0) {\n      iVar29 = *(int *)(puVar31 + 0x46658);\n      iVar30 = *(int *)(puVar31 + 0x46658);\n      iVar28 = *(int *)(puVar31 + 0x46658);\n      do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);\n    }\n    CVar13 = ~CURLE_OK;\nLAB_0006023c:\n    (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n    goto LAB_0005ff9c;\n  }\n  goto LAB_0005ff98;\n  while ((iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),\n         iVar11 == 0 && (aiStack_b0[4] != 0))) {\nLAB_0005fd74:\n    if ((uint)aiStack_b0[3] < 8) {\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n    else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n  }\nLAB_000600a8:\n  pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n  if (pLVar7 == (LDAPMessage *)0x0) {\n    uVar8 = *(uint *)(iVar33 + 0xbc);\n    pcVar32 = *(code **)(puVar31 + 0x46fbc);\n    uVar22 = uVar8 + 1;\n    *(uint *)(iVar33 + 0xbc) = uVar22;\n    *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    (*pcVar32)(uStack_bc,0);\n    CVar13 = FUN_0005fc30(*puVar26);\n    return CVar13;\n  }\nLAB_0005ff90:\n  *ppLStack_60 = pLVar7;\nLAB_0005ff98:\n  CVar13 = ~CURLE_OK;\nLAB_0005ff9c:\n  if (piStack_9c != (int *)*puVar5) {\n    pcVar32 = *(code **)(puVar31 + 0x47118);\n    piVar17 = piStack_9c;\n    (*pcVar32)();\n    iVar3 = *piVar17;\n    piVar25 = *(int **)(iVar3 + 0x154);\n    if (piVar25 != (int *)0x0) {\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }\n    return CURLE_OK;\n  }\n  return CVar13;\n}" type_identifier (function_declarator "ldap_connecting(connectdata *conn,_Bool *done)" identifier (parameter_list "(connectdata *conn,_Bool *done)" ( (parameter_declaration "connectdata *conn" type_identifier (pointer_declarator "*conn" * identifier)) , (parameter_declaration "_Bool *done" type_identifier (pointer_declarator "*done" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  Curl_send *pCVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  LDAPMessage *pLVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  CURLcode CVar13;\n  uint *puVar14;\n  Curl_recv *pCVar15;\n  undefined4 *puVar16;\n  int *piVar17;\n  undefined4 uVar18;\n  char *pcVar19;\n  byte *pbVar20;\n  int iVar21;\n  uint uVar22;\n  tftp_state_data *ptVar23;\n  Sockbuf **unaff_s1;\n  int iVar24;\n  int *piVar25;\n  undefined4 *puVar26;\n  Curl_easy *pCVar27;\n  int iVar28;\n  int iVar29;\n  int iVar30;\n  undefined *puVar31;\n  code *pcVar32;\n  int iVar33;\n  int iStack_c0;\n  undefined4 uStack_bc;\n  int iStack_b8;\n  undefined4 uStack_b4;\n  int aiStack_b0 [5];\n  int *piStack_9c;\n  tftp_state_data *ptStack_98;\n  Sockbuf **ppSStack_94;\n  connectdata *pcStack_90;\n  undefined *puStack_8c;\n  Curl_easy *pCStack_88;\n  _Bool *p_Stack_84;\n  LDAPMessage **ppLStack_60;\n  LDAPMessage *msg;\n  int err;\n  char *info;\n  timeval tv;\n  Sockbuf *sb;\n  char *pcStack_28;\n  int *local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  msg = (LDAPMessage *)0x0;\n  tv.tv_sec = 0;\n  tv.tv_usec = 1;\n  info = (char *)0x0;\n  ptVar23 = (conn->proto).tftpc;\n  pCVar27 = conn->data;\n  if ((conn->handler->flags & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }\n    else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }\n  }\n  else {\n    if (*(char *)&ptVar23->sockfd != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }\n    CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);\n    if (CVar13 == CURLE_OK) {\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar2) {\n    return CVar13;\n  }\n  piVar17 = local_24;\n  puVar31 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar5 = *(undefined4 **)(puVar31 + 0x474a4);\n  puStack_8c = puVar2;\n  iVar33 = *piVar17;\n  piStack_9c = (int *)*puVar5;\n  puVar26 = (undefined4 *)piVar17[300];\n  puVar16 = *(undefined4 **)(iVar33 + 0x154);\n  aiStack_b0[2] = 1;\n  iStack_c0 = 0;\n  uStack_bc = 0;\n  aiStack_b0[1] = 0;\n  ptStack_98 = ptVar23;\n  ppSStack_94 = unaff_s1;\n  pcStack_90 = conn;\n  pCStack_88 = pCVar27;\n  p_Stack_84 = done;\n  iVar3 = (**(code **)(puVar31 + 0x47158))(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0);\n  if (iVar3 < 0) {\n    CVar13 = ~CURLE_OK;\n    uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n    (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18);\n    *ppLStack_60 = (LDAPMessage *)0x38;\n    goto LAB_0005ff9c;\n  }\n  *ppLStack_60 = (LDAPMessage *)0x51;\n  if (iStack_c0 != 0) {\n    iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26);\n    if (iVar3 != 0) {\n      iVar29 = *(int *)(puVar31 + 0x46658);\n      iVar30 = *(int *)(puVar31 + 0x46658);\n      iVar28 = *(int *)(puVar31 + 0x46658);\n      do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);\n    }\n    CVar13 = ~CURLE_OK;\nLAB_0006023c:\n    (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n    goto LAB_0005ff9c;\n  }\n  goto LAB_0005ff98;\n  while ((iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),\n         iVar11 == 0 && (aiStack_b0[4] != 0))) {\nLAB_0005fd74:\n    if ((uint)aiStack_b0[3] < 8) {\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n    else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n  }\nLAB_000600a8:\n  pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n  if (pLVar7 == (LDAPMessage *)0x0) {\n    uVar8 = *(uint *)(iVar33 + 0xbc);\n    pcVar32 = *(code **)(puVar31 + 0x46fbc);\n    uVar22 = uVar8 + 1;\n    *(uint *)(iVar33 + 0xbc) = uVar22;\n    *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    (*pcVar32)(uStack_bc,0);\n    CVar13 = FUN_0005fc30(*puVar26);\n    return CVar13;\n  }\nLAB_0005ff90:\n  *ppLStack_60 = pLVar7;\nLAB_0005ff98:\n  CVar13 = ~CURLE_OK;\nLAB_0005ff9c:\n  if (piStack_9c != (int *)*puVar5) {\n    pcVar32 = *(code **)(puVar31 + 0x47118);\n    piVar17 = piStack_9c;\n    (*pcVar32)();\n    iVar3 = *piVar17;\n    piVar25 = *(int **)(iVar3 + 0x154);\n    if (piVar25 != (int *)0x0) {\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }\n    return CURLE_OK;\n  }\n  return CVar13;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "Curl_send *pCVar4;" type_identifier (pointer_declarator "*pCVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "LDAPMessage *pLVar7;" type_identifier (pointer_declarator "*pLVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "CURLcode CVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "Curl_recv *pCVar15;" type_identifier (pointer_declarator "*pCVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "tftp_state_data *ptVar23;" type_identifier (pointer_declarator "*ptVar23" * identifier) ;) (declaration "Sockbuf **unaff_s1;" type_identifier (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier)) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "Curl_easy *pCVar27;" type_identifier (pointer_declarator "*pCVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "undefined *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int iStack_c0;" primitive_type identifier ;) (declaration "undefined4 uStack_bc;" type_identifier identifier ;) (declaration "int iStack_b8;" primitive_type identifier ;) (declaration "undefined4 uStack_b4;" type_identifier identifier ;) (declaration "int aiStack_b0 [5];" primitive_type (array_declarator "aiStack_b0 [5]" identifier [ number_literal ]) ;) (declaration "int *piStack_9c;" primitive_type (pointer_declarator "*piStack_9c" * identifier) ;) (declaration "tftp_state_data *ptStack_98;" type_identifier (pointer_declarator "*ptStack_98" * identifier) ;) (declaration "Sockbuf **ppSStack_94;" type_identifier (pointer_declarator "**ppSStack_94" * (pointer_declarator "*ppSStack_94" * identifier)) ;) (declaration "connectdata *pcStack_90;" type_identifier (pointer_declarator "*pcStack_90" * identifier) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "Curl_easy *pCStack_88;" type_identifier (pointer_declarator "*pCStack_88" * identifier) ;) (declaration "_Bool *p_Stack_84;" type_identifier (pointer_declarator "*p_Stack_84" * identifier) ;) (declaration "LDAPMessage **ppLStack_60;" type_identifier (pointer_declarator "**ppLStack_60" * (pointer_declarator "*ppLStack_60" * identifier)) ;) (declaration "LDAPMessage *msg;" type_identifier (pointer_declarator "*msg" * identifier) ;) (declaration "int err;" primitive_type identifier ;) (declaration "char *info;" primitive_type (pointer_declarator "*info" * identifier) ;) (declaration "timeval tv;" type_identifier identifier ;) (declaration "Sockbuf *sb;" type_identifier (pointer_declarator "*sb" * identifier) ;) (declaration "char *pcStack_28;" primitive_type (pointer_declarator "*pcStack_28" * identifier) ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(int **)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "msg = (LDAPMessage *)0x0;" (assignment_expression "msg = (LDAPMessage *)0x0" identifier = (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "tv.tv_sec = 0;" (assignment_expression "tv.tv_sec = 0" (field_expression "tv.tv_sec" identifier . field_identifier) = number_literal) ;) (expression_statement "tv.tv_usec = 1;" (assignment_expression "tv.tv_usec = 1" (field_expression "tv.tv_usec" identifier . field_identifier) = number_literal) ;) (expression_statement "info = (char *)0x0;" (assignment_expression "info = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ptVar23 = (conn->proto).tftpc;" (assignment_expression "ptVar23 = (conn->proto).tftpc" identifier = (field_expression "(conn->proto).tftpc" (parenthesized_expression "(conn->proto)" ( (field_expression "conn->proto" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pCVar27 = conn->data;" (assignment_expression "pCVar27 = conn->data" identifier = (field_expression "conn->data" identifier -> field_identifier)) ;) (if_statement "if ((conn->handler->flags & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }\n    else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }\n  }\n  else {\n    if (*(char *)&ptVar23->sockfd != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }\n    CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);\n    if (CVar13 == CURLE_OK) {\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }\n  }" if (parenthesized_expression "((conn->handler->flags & 1) == 0)" ( (binary_expression "(conn->handler->flags & 1) == 0" (parenthesized_expression "(conn->handler->flags & 1)" ( (binary_expression "conn->handler->flags & 1" (field_expression "conn->handler->flags" (field_expression "conn->handler" identifier -> field_identifier) -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0005f820:\n    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }\n    else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }\n  }" { (labeled_statement "LAB_0005f820:\n    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }\n    else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }" statement_identifier : (if_statement "if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }\n    else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }" if (parenthesized_expression "(*(char *)((int)&ptVar23->sockfd + 2) == '\0')" ( (binary_expression "*(char *)((int)&ptVar23->sockfd + 2) == '\0'" (pointer_expression "*(char *)((int)&ptVar23->sockfd + 2)" * (cast_expression "(char *)((int)&ptVar23->sockfd + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ptVar23->sockfd + 2)" ( (binary_expression "(int)&ptVar23->sockfd + 2" (cast_expression "(int)&ptVar23->sockfd" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0005f900:\n      unaff_s1 = &sb;\n      pcVar19 = (char *)0x0;\n      if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }\n      ppLStack_60 = (LDAPMessage **)0x0;\n      iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);\n      if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }\n    }" { (labeled_statement "LAB_0005f900:\n      unaff_s1 = &sb;" statement_identifier : (expression_statement "unaff_s1 = &sb;" (assignment_expression "unaff_s1 = &sb" identifier = (pointer_expression "&sb" & identifier)) ;)) (expression_statement "pcVar19 = (char *)0x0;" (assignment_expression "pcVar19 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((conn->bits).user_passwd == false) {\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }\n      else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }" if (parenthesized_expression "((conn->bits).user_passwd == false)" ( (binary_expression "(conn->bits).user_passwd == false" (field_expression "(conn->bits).user_passwd" (parenthesized_expression "(conn->bits)" ( (field_expression "conn->bits" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n        pcStack_28 = (char *)0x0;\n        sb = (Sockbuf *)0x0;\n      }" { (expression_statement "pcStack_28 = (char *)0x0;" (assignment_expression "pcStack_28 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sb = (Sockbuf *)0x0;" (assignment_expression "sb = (Sockbuf *)0x0" identifier = (cast_expression "(Sockbuf *)0x0" ( (type_descriptor "Sockbuf *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }" else (compound_statement "{\n        pcStack_28 = conn->passwd;\n        pcVar19 = conn->user;\n        sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);\n      }" { (expression_statement "pcStack_28 = conn->passwd;" (assignment_expression "pcStack_28 = conn->passwd" identifier = (field_expression "conn->passwd" identifier -> field_identifier)) ;) (expression_statement "pcVar19 = conn->user;" (assignment_expression "pcVar19 = conn->user" identifier = (field_expression "conn->user" identifier -> field_identifier)) ;) (expression_statement "sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28);" (assignment_expression "sb = (Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28)" identifier = (cast_expression "(Sockbuf *)(*(code *)PTR_strlen_000a6ea8)(pcStack_28)" ( (type_descriptor "Sockbuf *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_000a6ea8)(pcStack_28)" (parenthesized_expression "(*(code *)PTR_strlen_000a6ea8)" ( (pointer_expression "*(code *)PTR_strlen_000a6ea8" * (cast_expression "(code *)PTR_strlen_000a6ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcStack_28)" ( identifier ))))) ;) }))) (expression_statement "ppLStack_60 = (LDAPMessage **)0x0;" (assignment_expression "ppLStack_60 = (LDAPMessage **)0x0" identifier = (cast_expression "(LDAPMessage **)0x0" ( (type_descriptor "LDAPMessage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);" (assignment_expression "iVar3 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1)" identifier = (call_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)" ( (pointer_expression "*(code *)PTR_ldap_sasl_bind_000a6fa8" * (cast_expression "(code *)PTR_ldap_sasl_bind_000a6fa8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar23->state,pcVar19,0,unaff_s1)" ( (field_expression "ptVar23->state" identifier -> field_identifier) , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }\n      else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;\n        CVar13 = CURLE_OK;\n      }" { (expression_statement "*(undefined1 *)((int)&ptVar23->sockfd + 2) = 1;" (assignment_expression "*(undefined1 *)((int)&ptVar23->sockfd + 2) = 1" (pointer_expression "*(undefined1 *)((int)&ptVar23->sockfd + 2)" * (cast_expression "(undefined1 *)((int)&ptVar23->sockfd + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ptVar23->sockfd + 2)" ( (binary_expression "(int)&ptVar23->sockfd + 2" (cast_expression "(int)&ptVar23->sockfd" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "CVar13 = CURLE_OK;" (assignment_expression "CVar13 = CURLE_OK" identifier = identifier) ;) }) (else_clause "else {\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }" else (compound_statement "{\nLAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n      }" { (labeled_statement "LAB_0005fa84:\n        CVar13 = CURLE_LDAP_CANNOT_BIND;" statement_identifier : (expression_statement "CVar13 = CURLE_LDAP_CANNOT_BIND;" (assignment_expression "CVar13 = CURLE_LDAP_CANNOT_BIND" identifier = identifier) ;)) }))) }) (else_clause "else {\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }" else (compound_statement "{\n      ppLStack_60 = &msg;\n      iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);\n      if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }\n      if (iVar3 == 0) goto LAB_0005f9f4;\n      ppLStack_60 = (LDAPMessage **)&info;\n      iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);\n      if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }\n      if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }\n      if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }\n    }" { (expression_statement "ppLStack_60 = &msg;" (assignment_expression "ppLStack_60 = &msg" identifier = (pointer_expression "&msg" & identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);" (assignment_expression "iVar3 = (*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv)" identifier = (call_expression "(*(code *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv)" (parenthesized_expression "(*(code *)PTR_ldap_result_000a6c94)" ( (pointer_expression "*(code *)PTR_ldap_result_000a6c94" * (cast_expression "(code *)PTR_ldap_result_000a6c94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar23->state,ptVar23->conn,0,&tv)" ( (field_expression "ptVar23->state" identifier -> field_identifier) , (field_expression "ptVar23->conn" identifier -> field_identifier) , number_literal , (pointer_expression "&tv" & identifier) )))) ;) (if_statement "if (iVar3 < 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);\n        goto LAB_0005fa84;\n      }" { (expression_statement "uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);" (assignment_expression "uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar3)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar27,PTR_UINT_000a6194 + 0x14a0,uVar18)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14a0" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0005fa84;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0) goto LAB_0005f9f4;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005f9f4;" goto statement_identifier ;)) (expression_statement "ppLStack_60 = (LDAPMessage **)&info;" (assignment_expression "ppLStack_60 = (LDAPMessage **)&info" identifier = (cast_expression "(LDAPMessage **)&info" ( (type_descriptor "LDAPMessage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&info" & identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0);" (assignment_expression "iVar3 = (*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0)" identifier = (call_expression "(*(code *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&err,0)" (parenthesized_expression "(*(code *)PTR_ldap_parse_result_000a6d74)" ( (pointer_expression "*(code *)PTR_ldap_parse_result_000a6d74" * (cast_expression "(code *)PTR_ldap_parse_result_000a6d74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar23->state,msg,&err,0)" ( (field_expression "ptVar23->state" identifier -> field_identifier) , identifier , (pointer_expression "&err" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);\n        CVar13 = CURLE_LDAP_CANNOT_BIND;\n        goto LAB_0005f9a4;\n      }" { (expression_statement "uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3);" (assignment_expression "uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar3)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar3)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar27,PTR_UINT_000a6194 + 0x14c0,uVar18)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14c0" identifier + number_literal) , identifier ))) ;) (expression_statement "CVar13 = CURLE_LDAP_CANNOT_BIND;" (assignment_expression "CVar13 = CURLE_LDAP_CANNOT_BIND" identifier = identifier) ;) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;) })) (if_statement "if (err == 2) {\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }" if (parenthesized_expression "(err == 2)" ( (binary_expression "err == 2" identifier == number_literal) )) (compound_statement "{\n        unaff_s1 = &sb;\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);\n        if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }\n      }" { (expression_statement "unaff_s1 = &sb;" (assignment_expression "unaff_s1 = &sb" identifier = (pointer_expression "&sb" & identifier)) ;) (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" ( (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" * (cast_expression "(code *)PTR_ldap_get_option_000a6abc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar23->state,0x11,unaff_s1)" ( (field_expression "ptVar23->state" identifier -> field_identifier) , number_literal , identifier ))) ;) (if_statement "if (sb == (Sockbuf *)0x3) {\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }" if (parenthesized_expression "(sb == (Sockbuf *)0x3)" ( (binary_expression "sb == (Sockbuf *)0x3" identifier == (cast_expression "(Sockbuf *)0x3" ( (type_descriptor "Sockbuf *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }\n          sb = (Sockbuf *)0x2;\n          (*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);\n          *(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;\n          goto LAB_0005f900;\n        }" { (if_statement "if (info != (char *)0x0) {\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }" if (parenthesized_expression "(info != (char *)0x0)" ( (binary_expression "info != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*(code *)PTR_ldap_memfree_000a6b54)();\n            info = (char *)0x0;\n          }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "info = (char *)0x0;" (assignment_expression "info = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "sb = (Sockbuf *)0x2;" (assignment_expression "sb = (Sockbuf *)0x2" identifier = (cast_expression "(Sockbuf *)0x2" ( (type_descriptor "Sockbuf *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_set_option_000a6b70)" ( (pointer_expression "*(code *)PTR_ldap_set_option_000a6b70" * (cast_expression "(code *)PTR_ldap_set_option_000a6b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar23->state,0x11,unaff_s1)" ( (field_expression "ptVar23->state" identifier -> field_identifier) , number_literal , identifier ))) ;) (expression_statement "*(undefined1 *)((int)&ptVar23->sockfd + 2) = 0;" (assignment_expression "*(undefined1 *)((int)&ptVar23->sockfd + 2) = 0" (pointer_expression "*(undefined1 *)((int)&ptVar23->sockfd + 2)" * (cast_expression "(undefined1 *)((int)&ptVar23->sockfd + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ptVar23->sockfd + 2)" ( (binary_expression "(int)&ptVar23->sockfd + 2" (cast_expression "(int)&ptVar23->sockfd" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005f900;" goto statement_identifier ;) })) })) (if_statement "if (err == 0) {\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }\n      else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }" if (parenthesized_expression "(err == 0)" ( (binary_expression "err == 0" identifier == number_literal) )) (compound_statement "{\n        if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }\n        CVar13 = CURLE_OK;\n        conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);\n        *done = true;\n      }" { (if_statement "if (info != (char *)0x0) {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }" if (parenthesized_expression "(info != (char *)0x0)" ( (binary_expression "info != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n        }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "CVar13 = CURLE_OK;" (assignment_expression "CVar13 = CURLE_OK" identifier = identifier) ;) (expression_statement "conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4);" (assignment_expression "conn->recv[0] = (Curl_recv *)(PTR_LAB_000a6744 + -0x4c4)" (subscript_expression "conn->recv[0]" (field_expression "conn->recv" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(Curl_recv *)(PTR_LAB_000a6744 + -0x4c4)" ( (type_descriptor "Curl_recv *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000a6744 + -0x4c4)" ( (binary_expression "PTR_LAB_000a6744 + -0x4c4" identifier + number_literal) )))) ;) (expression_statement "*done = true;" (assignment_expression "*done = true" (pointer_expression "*done" * identifier) = true) ;) }) (else_clause "else {\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }" else (compound_statement "{\n        uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n        pcVar19 = info;\n        if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }\n        (*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);\n        if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n      }" { (expression_statement "uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0);" (assignment_expression "uVar18 = (*(code *)PTR_ldap_err2string_000a6cac)(0)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(0)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar19 = info;" (assignment_expression "pcVar19 = info" identifier = identifier) ;) (if_statement "if (info == (char *)0x0) {\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }" if (parenthesized_expression "(info == (char *)0x0)" ( (binary_expression "info == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar19 = PTR_UINT_000a6194 + 0x3538;\n        }" { (expression_statement "pcVar19 = PTR_UINT_000a6194 + 0x3538;" (assignment_expression "pcVar19 = PTR_UINT_000a6194 + 0x3538" identifier = (binary_expression "PTR_UINT_000a6194 + 0x3538" identifier + number_literal)) ;) })) (expression_statement "(*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19);" (call_expression "(*(code *)PTR_Curl_failf_000a614c)(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19)" (parenthesized_expression "(*(code *)PTR_Curl_failf_000a614c)" ( (pointer_expression "*(code *)PTR_Curl_failf_000a614c" * (cast_expression "(code *)PTR_Curl_failf_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar27,PTR_UINT_000a6194 + 0x14e8,uVar18,pcVar19)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14e8" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (info == (char *)0x0) {\n          CVar13 = CURLE_LOGIN_DENIED;\n        }\n        else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }" if (parenthesized_expression "(info == (char *)0x0)" ( (binary_expression "info == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          CVar13 = CURLE_LOGIN_DENIED;\n        }" { (expression_statement "CVar13 = CURLE_LOGIN_DENIED;" (assignment_expression "CVar13 = CURLE_LOGIN_DENIED" identifier = identifier) ;) }) (else_clause "else {\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }" else (compound_statement "{\n          (*(code *)PTR_ldap_memfree_000a6b54)();\n          CVar13 = CURLE_LOGIN_DENIED;\n        }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "CVar13 = CURLE_LOGIN_DENIED;" (assignment_expression "CVar13 = CURLE_LOGIN_DENIED" identifier = identifier) ;) }))) }))) })))) }) (else_clause "else {\n    if (*(char *)&ptVar23->sockfd != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }\n    CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);\n    if (CVar13 == CURLE_OK) {\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }\n  }" else (compound_statement "{\n    if (*(char *)&ptVar23->sockfd != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }\n    CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);\n    if (CVar13 == CURLE_OK) {\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }\n  }" { (if_statement "if (*(char *)&ptVar23->sockfd != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }" if (parenthesized_expression "(*(char *)&ptVar23->sockfd != '\0')" ( (binary_expression "*(char *)&ptVar23->sockfd != '\0'" (pointer_expression "*(char *)&ptVar23->sockfd" * (cast_expression "(char *)&ptVar23->sockfd" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier)))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }\n      goto LAB_0005f820;\n    }" { (labeled_statement "LAB_0005f814:\n      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }" statement_identifier : (if_statement "if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }" if (parenthesized_expression "(*(char *)((int)&ptVar23->sockfd + 1) == '\0')" ( (binary_expression "*(char *)((int)&ptVar23->sockfd + 1) == '\0'" (pointer_expression "*(char *)((int)&ptVar23->sockfd + 1)" * (cast_expression "(char *)((int)&ptVar23->sockfd + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ptVar23->sockfd + 1)" ( (binary_expression "(int)&ptVar23->sockfd + 1" (cast_expression "(int)&ptVar23->sockfd" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);\n        pCVar15 = conn->recv[0];\n        pCVar4 = conn->send[0];\n        *(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;\n        ptVar23->mode = (tftp_mode_t)pCVar15;\n        ptVar23->error = (tftp_error_t)pCVar4;\n      }" { (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&sb)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" ( (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" * (cast_expression "(code *)PTR_ldap_get_option_000a6abc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptVar23->state,0x5008,&sb)" ( (field_expression "ptVar23->state" identifier -> field_identifier) , number_literal , (pointer_expression "&sb" & identifier) ))) ;) (expression_statement "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn);" (call_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn)" (parenthesized_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)" ( (pointer_expression "*(code *)PTR_ber_sockbuf_add_io_000a6c64" * (cast_expression "(code *)PTR_ber_sockbuf_add_io_000a6c64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sb,PTR_DAT_000a612c + 0x60b0,0x14,conn)" ( identifier , (binary_expression "PTR_DAT_000a612c + 0x60b0" identifier + number_literal) , number_literal , identifier ))) ;) (expression_statement "pCVar15 = conn->recv[0];" (assignment_expression "pCVar15 = conn->recv[0]" identifier = (subscript_expression "conn->recv[0]" (field_expression "conn->recv" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pCVar4 = conn->send[0];" (assignment_expression "pCVar4 = conn->send[0]" identifier = (subscript_expression "conn->send[0]" (field_expression "conn->send" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)&ptVar23->sockfd + 1) = 1;" (assignment_expression "*(undefined1 *)((int)&ptVar23->sockfd + 1) = 1" (pointer_expression "*(undefined1 *)((int)&ptVar23->sockfd + 1)" * (cast_expression "(undefined1 *)((int)&ptVar23->sockfd + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ptVar23->sockfd + 1)" ( (binary_expression "(int)&ptVar23->sockfd + 1" (cast_expression "(int)&ptVar23->sockfd" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "ptVar23->mode = (tftp_mode_t)pCVar15;" (assignment_expression "ptVar23->mode = (tftp_mode_t)pCVar15" (field_expression "ptVar23->mode" identifier -> field_identifier) = (cast_expression "(tftp_mode_t)pCVar15" ( (type_descriptor "tftp_mode_t" type_identifier) ) identifier)) ;) (expression_statement "ptVar23->error = (tftp_error_t)pCVar4;" (assignment_expression "ptVar23->error = (tftp_error_t)pCVar4" (field_expression "ptVar23->error" identifier -> field_identifier) = (cast_expression "(tftp_error_t)pCVar4" ( (type_descriptor "tftp_error_t" type_identifier) ) identifier)) ;) }))) (goto_statement "goto LAB_0005f820;" goto statement_identifier ;) })) (expression_statement "CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);" (assignment_expression "CVar13 = (*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd)" identifier = (call_expression "(*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd)" (parenthesized_expression "(*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288)" ( (pointer_expression "*(code *)PTR_Curl_ssl_connect_nonblocking_000a6288" * (cast_expression "(code *)PTR_Curl_ssl_connect_nonblocking_000a6288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(conn,0,&ptVar23->sockfd)" ( identifier , number_literal , (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier)) )))) ;) (if_statement "if (CVar13 == CURLE_OK) {\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }" if (parenthesized_expression "(CVar13 == CURLE_OK)" ( (binary_expression "CVar13 == CURLE_OK" identifier == identifier) )) (compound_statement "{\n      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n      CVar13 = CURLE_OK;\n    }" { (if_statement "if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;" if (parenthesized_expression "(*(char *)&ptVar23->sockfd != '\0')" ( (binary_expression "*(char *)&ptVar23->sockfd != '\0'" (pointer_expression "*(char *)&ptVar23->sockfd" * (cast_expression "(char *)&ptVar23->sockfd" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ptVar23->sockfd" & (field_expression "ptVar23->sockfd" identifier -> field_identifier)))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0005f814;" goto statement_identifier ;)) (labeled_statement "LAB_0005f9f4:\n      CVar13 = CURLE_OK;" statement_identifier : (expression_statement "CVar13 = CURLE_OK;" (assignment_expression "CVar13 = CURLE_OK" identifier = identifier) ;)) })) }))) (labeled_statement "LAB_0005f9a4:\n  if (local_24 == *(int **)puVar2) {\n    return CVar13;\n  }" statement_identifier : (if_statement "if (local_24 == *(int **)puVar2) {\n    return CVar13;\n  }" if (parenthesized_expression "(local_24 == *(int **)puVar2)" ( (binary_expression "local_24 == *(int **)puVar2" identifier == (pointer_expression "*(int **)puVar2" * (cast_expression "(int **)puVar2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return CVar13;\n  }" { (return_statement "return CVar13;" return identifier ;) }))) (expression_statement "piVar17 = local_24;" (assignment_expression "piVar17 = local_24" identifier = identifier) ;) (expression_statement "puVar31 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar31 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar5 = *(undefined4 **)(puVar31 + 0x474a4);" (assignment_expression "puVar5 = *(undefined4 **)(puVar31 + 0x474a4)" identifier = (pointer_expression "*(undefined4 **)(puVar31 + 0x474a4)" * (cast_expression "(undefined4 **)(puVar31 + 0x474a4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x474a4)" ( (binary_expression "puVar31 + 0x474a4" identifier + number_literal) ))))) ;) (expression_statement "puStack_8c = puVar2;" (assignment_expression "puStack_8c = puVar2" identifier = identifier) ;) (expression_statement "iVar33 = *piVar17;" (assignment_expression "iVar33 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piStack_9c = (int *)*puVar5;" (assignment_expression "piStack_9c = (int *)*puVar5" identifier = (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "puVar26 = (undefined4 *)piVar17[300];" (assignment_expression "puVar26 = (undefined4 *)piVar17[300]" identifier = (cast_expression "(undefined4 *)piVar17[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[300]" identifier [ number_literal ]))) ;) (expression_statement "puVar16 = *(undefined4 **)(iVar33 + 0x154);" (assignment_expression "puVar16 = *(undefined4 **)(iVar33 + 0x154)" identifier = (pointer_expression "*(undefined4 **)(iVar33 + 0x154)" * (cast_expression "(undefined4 **)(iVar33 + 0x154)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar33 + 0x154)" ( (binary_expression "iVar33 + 0x154" identifier + number_literal) ))))) ;) (expression_statement "aiStack_b0[2] = 1;" (assignment_expression "aiStack_b0[2] = 1" (subscript_expression "aiStack_b0[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iStack_c0 = 0;" (assignment_expression "iStack_c0 = 0" identifier = number_literal) ;) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" identifier = number_literal) ;) (expression_statement "aiStack_b0[1] = 0;" (assignment_expression "aiStack_b0[1] = 0" (subscript_expression "aiStack_b0[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ptStack_98 = ptVar23;" (assignment_expression "ptStack_98 = ptVar23" identifier = identifier) ;) (expression_statement "ppSStack_94 = unaff_s1;" (assignment_expression "ppSStack_94 = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_90 = conn;" (assignment_expression "pcStack_90 = conn" identifier = identifier) ;) (expression_statement "pCStack_88 = pCVar27;" (assignment_expression "pCStack_88 = pCVar27" identifier = identifier) ;) (expression_statement "p_Stack_84 = done;" (assignment_expression "p_Stack_84 = done" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar31 + 0x47158))(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0);" (assignment_expression "iVar3 = (**(code **)(puVar31 + 0x47158))(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0)" identifier = (call_expression "(**(code **)(puVar31 + 0x47158))(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0)" (parenthesized_expression "(**(code **)(puVar31 + 0x47158))" ( (pointer_expression "**(code **)(puVar31 + 0x47158)" * (pointer_expression "*(code **)(puVar31 + 0x47158)" * (cast_expression "(code **)(puVar31 + 0x47158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47158)" ( (binary_expression "puVar31 + 0x47158" identifier + number_literal) ))))) )) (argument_list "(*puVar26,*puVar16,2,aiStack_b0 + 1,&iStack_c0)" ( (pointer_expression "*puVar26" * identifier) , (pointer_expression "*puVar16" * identifier) , number_literal , (binary_expression "aiStack_b0 + 1" identifier + number_literal) , (pointer_expression "&iStack_c0" & identifier) )))) ;) (if_statement "if (iVar3 < 0) {\n    CVar13 = ~CURLE_OK;\n    uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n    (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18);\n    *ppLStack_60 = (LDAPMessage *)0x38;\n    goto LAB_0005ff9c;\n  }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n    CVar13 = ~CURLE_OK;\n    uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n    (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18);\n    *ppLStack_60 = (LDAPMessage *)0x38;\n    goto LAB_0005ff9c;\n  }" { (expression_statement "CVar13 = ~CURLE_OK;" (assignment_expression "CVar13 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;) (expression_statement "uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);" (assignment_expression "uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3)" identifier = (call_expression "(**(code **)(puVar31 + 0x47170))(iVar3)" (parenthesized_expression "(**(code **)(puVar31 + 0x47170))" ( (pointer_expression "**(code **)(puVar31 + 0x47170)" * (pointer_expression "*(code **)(puVar31 + 0x47170)" * (cast_expression "(code **)(puVar31 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47170)" ( (binary_expression "puVar31 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18);" (call_expression "(**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18)" (parenthesized_expression "(**(code **)(puVar31 + 0x46610))" ( (pointer_expression "**(code **)(puVar31 + 0x46610)" * (pointer_expression "*(code **)(puVar31 + 0x46610)" * (cast_expression "(code **)(puVar31 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46610)" ( (binary_expression "puVar31 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar33,*(int *)(puVar31 + 0x46658) + 0x1508,uVar18)" ( identifier , (binary_expression "*(int *)(puVar31 + 0x46658) + 0x1508" (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "*ppLStack_60 = (LDAPMessage *)0x38;" (assignment_expression "*ppLStack_60 = (LDAPMessage *)0x38" (pointer_expression "*ppLStack_60" * identifier) = (cast_expression "(LDAPMessage *)0x38" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0005ff9c;" goto statement_identifier ;) })) (expression_statement "*ppLStack_60 = (LDAPMessage *)0x51;" (assignment_expression "*ppLStack_60 = (LDAPMessage *)0x51" (pointer_expression "*ppLStack_60" * identifier) = (cast_expression "(LDAPMessage *)0x51" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iStack_c0 != 0) {\n    iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26);\n    if (iVar3 != 0) {\n      iVar29 = *(int *)(puVar31 + 0x46658);\n      iVar30 = *(int *)(puVar31 + 0x46658);\n      iVar28 = *(int *)(puVar31 + 0x46658);\n      do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);\n    }\n    CVar13 = ~CURLE_OK;\nLAB_0006023c:\n    (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n    goto LAB_0005ff9c;\n  }" if (parenthesized_expression "(iStack_c0 != 0)" ( (binary_expression "iStack_c0 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26);\n    if (iVar3 != 0) {\n      iVar29 = *(int *)(puVar31 + 0x46658);\n      iVar30 = *(int *)(puVar31 + 0x46658);\n      iVar28 = *(int *)(puVar31 + 0x46658);\n      do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);\n    }\n    CVar13 = ~CURLE_OK;\nLAB_0006023c:\n    (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n    goto LAB_0005ff9c;\n  }" { (expression_statement "iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26);" (assignment_expression "iVar3 = (**(code **)(puVar31 + 0x46dd8))(*puVar26)" identifier = (call_expression "(**(code **)(puVar31 + 0x46dd8))(*puVar26)" (parenthesized_expression "(**(code **)(puVar31 + 0x46dd8))" ( (pointer_expression "**(code **)(puVar31 + 0x46dd8)" * (pointer_expression "*(code **)(puVar31 + 0x46dd8)" * (cast_expression "(code **)(puVar31 + 0x46dd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46dd8)" ( (binary_expression "puVar31 + 0x46dd8" identifier + number_literal) ))))) )) (argument_list "(*puVar26)" ( (pointer_expression "*puVar26" * identifier) )))) ;) (if_statement "if (iVar3 != 0) {\n      iVar29 = *(int *)(puVar31 + 0x46658);\n      iVar30 = *(int *)(puVar31 + 0x46658);\n      iVar28 = *(int *)(puVar31 + 0x46658);\n      do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar29 = *(int *)(puVar31 + 0x46658);\n      iVar30 = *(int *)(puVar31 + 0x46658);\n      iVar28 = *(int *)(puVar31 + 0x46658);\n      do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);\n    }" { (expression_statement "iVar29 = *(int *)(puVar31 + 0x46658);" (assignment_expression "iVar29 = *(int *)(puVar31 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = *(int *)(puVar31 + 0x46658);" (assignment_expression "iVar30 = *(int *)(puVar31 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(puVar31 + 0x46658);" (assignment_expression "iVar28 = *(int *)(puVar31 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      } while (iVar3 != 0);" do (compound_statement "{\n        iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);\n        if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }\n        uVar18 = *puVar26;\n        if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }\n        iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);\n      }" { (expression_statement "iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3);" (assignment_expression "iVar6 = (**(code **)(puVar31 + 0x47068))(iVar3)" identifier = (call_expression "(**(code **)(puVar31 + 0x47068))(iVar3)" (parenthesized_expression "(**(code **)(puVar31 + 0x47068))" ( (pointer_expression "**(code **)(puVar31 + 0x47068)" * (pointer_expression "*(code **)(puVar31 + 0x47068)" * (cast_expression "(code **)(puVar31 + 0x47068)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47068)" ( (binary_expression "puVar31 + 0x47068" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if (iVar6 == 0x65) {\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }" if (parenthesized_expression "(iVar6 == 0x65)" ( (binary_expression "iVar6 == 0x65" identifier == number_literal) )) (compound_statement "{\n          aiStack_b0[3] = 0;\n          iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;\n          if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }\n          pcVar32 = *(code **)(puVar31 + 0x47018);\n          *puVar16 = 0;\n          (*pcVar32)(aiStack_b0[3]);\n          goto LAB_0006023c;\n        }" { (expression_statement "aiStack_b0[3] = 0;" (assignment_expression "aiStack_b0[3] = 0" (subscript_expression "aiStack_b0[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)\n          ;" (assignment_expression "iVar3 = (**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)" identifier = (call_expression "(**(code **)(puVar31 + 0x47238))(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)" (parenthesized_expression "(**(code **)(puVar31 + 0x47238))" ( (pointer_expression "**(code **)(puVar31 + 0x47238)" * (pointer_expression "*(code **)(puVar31 + 0x47238)" * (cast_expression "(code **)(puVar31 + 0x47238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47238)" ( (binary_expression "puVar31 + 0x47238" identifier + number_literal) ))))) )) (argument_list "(*puVar26,iVar3,aiStack_b0,0,aiStack_b0 + 3,0,0,0)" ( (pointer_expression "*puVar26" * identifier) , identifier , identifier , number_literal , (binary_expression "aiStack_b0 + 3" identifier + number_literal) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }\n          else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }\n            *(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);\n            *(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);\n            *ppLStack_60 = (LDAPMessage *)0x0;\n            CVar13 = CURLE_OK;\n          }" { (if_statement "if (aiStack_b0[0] != 0) {\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }" if (parenthesized_expression "(aiStack_b0[0] != 0)" ( (binary_expression "aiStack_b0[0] != 0" (subscript_expression "aiStack_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }\n              (**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);\n            }" { (if_statement "if (aiStack_b0[0] != 4) {\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }" if (parenthesized_expression "(aiStack_b0[0] != 4)" ( (binary_expression "aiStack_b0[0] != 4" (subscript_expression "aiStack_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                uVar18 = (**(code **)(puVar31 + 0x47170))(0);\n                uVar8 = aiStack_b0[3];\n                if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }\n                (**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);\n                goto LAB_00060368;\n              }" { (expression_statement "uVar18 = (**(code **)(puVar31 + 0x47170))(0);" (assignment_expression "uVar18 = (**(code **)(puVar31 + 0x47170))(0)" identifier = (call_expression "(**(code **)(puVar31 + 0x47170))(0)" (parenthesized_expression "(**(code **)(puVar31 + 0x47170))" ( (pointer_expression "**(code **)(puVar31 + 0x47170)" * (pointer_expression "*(code **)(puVar31 + 0x47170)" * (cast_expression "(code **)(puVar31 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47170)" ( (binary_expression "puVar31 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar8 = aiStack_b0[3];" (assignment_expression "uVar8 = aiStack_b0[3]" identifier = (subscript_expression "aiStack_b0[3]" identifier [ number_literal ])) ;) (if_statement "if (aiStack_b0[3] == 0) {\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }" if (parenthesized_expression "(aiStack_b0[3] == 0)" ( (binary_expression "aiStack_b0[3] == 0" (subscript_expression "aiStack_b0[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;\n                }" { (expression_statement "uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538;" (assignment_expression "uVar8 = *(int *)(puVar31 + 0x46658) + 0x3538" identifier = (binary_expression "*(int *)(puVar31 + 0x46658) + 0x3538" (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "(**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8);" (call_expression "(**(code **)(puVar31 + 0x46610))\n                          (iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8)" (parenthesized_expression "(**(code **)(puVar31 + 0x46610))" ( (pointer_expression "**(code **)(puVar31 + 0x46610)" * (pointer_expression "*(code **)(puVar31 + 0x46610)" * (cast_expression "(code **)(puVar31 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46610)" ( (binary_expression "puVar31 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar33,*(int *)(puVar31 + 0x46658) + 0x1554,uVar18,uVar8)" ( identifier , (binary_expression "*(int *)(puVar31 + 0x46658) + 0x1554" (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_00060368;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1]);" (call_expression "(**(code **)(puVar31 + 0x46670))\n                        (iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1])" (parenthesized_expression "(**(code **)(puVar31 + 0x46670))" ( (pointer_expression "**(code **)(puVar31 + 0x46670)" * (pointer_expression "*(code **)(puVar31 + 0x46670)" * (cast_expression "(code **)(puVar31 + 0x46670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46670)" ( (binary_expression "puVar31 + 0x46670" identifier + number_literal) ))))) )) (argument_list "(iVar33,*(int *)(puVar31 + 0x46658) + 0x1578,puVar16[1])" ( identifier , (binary_expression "*(int *)(puVar31 + 0x46658) + 0x1578" (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar16[1]" identifier [ number_literal ]) ))) ;) })) (expression_statement "*(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc);" (assignment_expression "*(undefined4 *)(iVar33 + 0x9c) = *(undefined4 *)(iVar33 + 0xbc)" (pointer_expression "*(undefined4 *)(iVar33 + 0x9c)" * (cast_expression "(undefined4 *)(iVar33 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x9c)" ( (binary_expression "iVar33 + 0x9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar33 + 0xbc)" * (cast_expression "(undefined4 *)(iVar33 + 0xbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8);" (assignment_expression "*(undefined4 *)(iVar33 + 0x98) = *(undefined4 *)(iVar33 + 0xb8)" (pointer_expression "*(undefined4 *)(iVar33 + 0x98)" * (cast_expression "(undefined4 *)(iVar33 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x98)" ( (binary_expression "iVar33 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar33 + 0xb8)" * (cast_expression "(undefined4 *)(iVar33 + 0xb8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "*ppLStack_60 = (LDAPMessage *)0x0;" (assignment_expression "*ppLStack_60 = (LDAPMessage *)0x0" (pointer_expression "*ppLStack_60" * identifier) = (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "CVar13 = CURLE_OK;" (assignment_expression "CVar13 = CURLE_OK" identifier = identifier) ;) }) (else_clause "else {\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }" else (compound_statement "{\n            uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);\n            (**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);\nLAB_00060368:\n            CVar13 = ~CURLE_OK;\n            *ppLStack_60 = (LDAPMessage *)0x27;\n          }" { (expression_statement "uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3);" (assignment_expression "uVar18 = (**(code **)(puVar31 + 0x47170))(iVar3)" identifier = (call_expression "(**(code **)(puVar31 + 0x47170))(iVar3)" (parenthesized_expression "(**(code **)(puVar31 + 0x47170))" ( (pointer_expression "**(code **)(puVar31 + 0x47170)" * (pointer_expression "*(code **)(puVar31 + 0x47170)" * (cast_expression "(code **)(puVar31 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47170)" ( (binary_expression "puVar31 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18);" (call_expression "(**(code **)(puVar31 + 0x46610))(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18)" (parenthesized_expression "(**(code **)(puVar31 + 0x46610))" ( (pointer_expression "**(code **)(puVar31 + 0x46610)" * (pointer_expression "*(code **)(puVar31 + 0x46610)" * (cast_expression "(code **)(puVar31 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46610)" ( (binary_expression "puVar31 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar33,*(int *)(puVar31 + 0x46658) + 0x152c,uVar18)" ( identifier , (binary_expression "*(int *)(puVar31 + 0x46658) + 0x152c" (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_00060368:\n            CVar13 = ~CURLE_OK;" statement_identifier : (expression_statement "CVar13 = ~CURLE_OK;" (assignment_expression "CVar13 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;)) (expression_statement "*ppLStack_60 = (LDAPMessage *)0x27;" (assignment_expression "*ppLStack_60 = (LDAPMessage *)0x27" (pointer_expression "*ppLStack_60" * identifier) = (cast_expression "(LDAPMessage *)0x27" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pcVar32 = *(code **)(puVar31 + 0x47018);" (assignment_expression "pcVar32 = *(code **)(puVar31 + 0x47018)" identifier = (pointer_expression "*(code **)(puVar31 + 0x47018)" * (cast_expression "(code **)(puVar31 + 0x47018)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47018)" ( (binary_expression "puVar31 + 0x47018" identifier + number_literal) ))))) ;) (expression_statement "*puVar16 = 0;" (assignment_expression "*puVar16 = 0" (pointer_expression "*puVar16" * identifier) = number_literal) ;) (expression_statement "(*pcVar32)(aiStack_b0[3]);" (call_expression "(*pcVar32)(aiStack_b0[3])" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(aiStack_b0[3])" ( (subscript_expression "aiStack_b0[3]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0006023c;" goto statement_identifier ;) })) (expression_statement "uVar18 = *puVar26;" (assignment_expression "uVar18 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (if_statement "if (iVar6 == 100) {\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n          piVar25 = aiStack_b0 + 3;\n          pcVar32 = *(code **)(puVar31 + 0x472b8);\n          puVar16[1] = puVar16[1] + 1;\n          iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);\n          if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }\n          pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          iVar6 = *(int *)(puVar31 + 0x46658);\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar18 = *puVar26;\n          pcVar32 = *(code **)(puVar31 + 0x46f38);\n          uVar22 = uVar8 + aiStack_b0[3] + 5U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);\n          if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;\n          iVar10 = *(int *)(puVar31 + 0x46658);\n          goto LAB_0005fd74;\n        }" { (expression_statement "piVar25 = aiStack_b0 + 3;" (assignment_expression "piVar25 = aiStack_b0 + 3" identifier = (binary_expression "aiStack_b0 + 3" identifier + number_literal)) ;) (expression_statement "pcVar32 = *(code **)(puVar31 + 0x472b8);" (assignment_expression "pcVar32 = *(code **)(puVar31 + 0x472b8)" identifier = (pointer_expression "*(code **)(puVar31 + 0x472b8)" * (cast_expression "(code **)(puVar31 + 0x472b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x472b8)" ( (binary_expression "puVar31 + 0x472b8" identifier + number_literal) ))))) ;) (expression_statement "puVar16[1] = puVar16[1] + 1;" (assignment_expression "puVar16[1] = puVar16[1] + 1" (subscript_expression "puVar16[1]" identifier [ number_literal ]) = (binary_expression "puVar16[1] + 1" (subscript_expression "puVar16[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25);" (assignment_expression "iVar6 = (*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25)" identifier = (call_expression "(*pcVar32)(uVar18,iVar3,&uStack_bc,piVar25)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(uVar18,iVar3,&uStack_bc,piVar25)" ( identifier , identifier , (pointer_expression "&uStack_bc" & identifier) , identifier )))) ;) (if_statement "if (iVar6 < 0) {\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n            *ppLStack_60 = (LDAPMessage *)0x38;\n            goto LAB_0005ff98;\n          }" { (expression_statement "*ppLStack_60 = (LDAPMessage *)0x38;" (assignment_expression "*ppLStack_60 = (LDAPMessage *)0x38" (pointer_expression "*ppLStack_60" * identifier) = (cast_expression "(LDAPMessage *)0x38" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (expression_statement "pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4);" (assignment_expression "pLVar7 = (LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4)" identifier = (cast_expression "(LDAPMessage *)\n                   (**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))\n                             (piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,*(int *)(puVar31 + 0x46658) + 0x1598,4)" ( identifier , number_literal , (binary_expression "*(int *)(puVar31 + 0x46658) + 0x1598" (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0))" ( (binary_expression "(pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)" (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)" ( (comma_expression "pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0" (assignment_expression "pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" identifier = (cast_expression "(LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,aiStack_b0[4],aiStack_b0[3])" ( identifier , number_literal , (subscript_expression "aiStack_b0[4]" identifier [ number_literal ]) , (subscript_expression "aiStack_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(puVar31 + 0x46658);" (assignment_expression "iVar6 = *(int *)(puVar31 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,1)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar6 + -0x7194,1)" ( identifier , number_literal , (binary_expression "iVar6 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *puVar26;" (assignment_expression "uVar18 = *puVar26" identifier = (pointer_expression "*puVar26" * identifier)) ;) (expression_statement "pcVar32 = *(code **)(puVar31 + 0x46f38);" (assignment_expression "pcVar32 = *(code **)(puVar31 + 0x46f38)" identifier = (pointer_expression "*(code **)(puVar31 + 0x46f38)" * (cast_expression "(code **)(puVar31 + 0x46f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46f38)" ( (binary_expression "puVar31 + 0x46f38" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar8 + aiStack_b0[3] + 5U;" (assignment_expression "uVar22 = uVar8 + aiStack_b0[3] + 5U" identifier = (binary_expression "uVar8 + aiStack_b0[3] + 5U" (binary_expression "uVar8 + aiStack_b0[3]" identifier + (subscript_expression "aiStack_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar22;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar22" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (call_expression "(uint)(uVar22 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar8)" ( (binary_expression "uVar22 < uVar8" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8);" (assignment_expression "iVar9 = (*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8)" identifier = (call_expression "(*pcVar32)(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(uVar18,iVar3,uStack_bc,piVar25,&iStack_b8)" ( identifier , identifier , identifier , identifier , (pointer_expression "&iStack_b8" & identifier) )))) ;) (if_statement "if ((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))\n          goto LAB_000600a8;" if (parenthesized_expression "((iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0))" ( (binary_expression "(iVar9 != 0) || (iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0)" ( (comma_expression "iVar9 = *(int *)(puVar31 + 0x46658), aiStack_b0[4] == 0" (assignment_expression "iVar9 = *(int *)(puVar31 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) ))))) , (binary_expression "aiStack_b0[4] == 0" (subscript_expression "aiStack_b0[4]" identifier [ number_literal ]) == number_literal)) ))) )) (goto_statement "goto LAB_000600a8;" goto statement_identifier ;)) (expression_statement "iVar10 = *(int *)(puVar31 + 0x46658);" (assignment_expression "iVar10 = *(int *)(puVar31 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0005fd74;" goto statement_identifier ;) })) (expression_statement "iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3);" (assignment_expression "iVar3 = (**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3)" identifier = (call_expression "(**(code **)(puVar31 + 0x46ea0))(uVar18,iVar3)" (parenthesized_expression "(**(code **)(puVar31 + 0x46ea0))" ( (pointer_expression "**(code **)(puVar31 + 0x46ea0)" * (pointer_expression "*(code **)(puVar31 + 0x46ea0)" * (cast_expression "(code **)(puVar31 + 0x46ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46ea0)" ( (binary_expression "puVar31 + 0x46ea0" identifier + number_literal) ))))) )) (argument_list "(uVar18,iVar3)" ( identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) ;) })) (expression_statement "CVar13 = ~CURLE_OK;" (assignment_expression "CVar13 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;) (labeled_statement "LAB_0006023c:\n    (**(code **)(puVar31 + 0x4725c))(iStack_c0);" statement_identifier : (expression_statement "(**(code **)(puVar31 + 0x4725c))(iStack_c0);" (call_expression "(**(code **)(puVar31 + 0x4725c))(iStack_c0)" (parenthesized_expression "(**(code **)(puVar31 + 0x4725c))" ( (pointer_expression "**(code **)(puVar31 + 0x4725c)" * (pointer_expression "*(code **)(puVar31 + 0x4725c)" * (cast_expression "(code **)(puVar31 + 0x4725c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x4725c)" ( (binary_expression "puVar31 + 0x4725c" identifier + number_literal) ))))) )) (argument_list "(iStack_c0)" ( identifier ))) ;)) (goto_statement "goto LAB_0005ff9c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) (while_statement "while ((iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),\n         iVar11 == 0 && (aiStack_b0[4] != 0))) {\nLAB_0005fd74:\n    if ((uint)aiStack_b0[3] < 8) {\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n    else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n  }" while (parenthesized_expression "((iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),\n         iVar11 == 0 && (aiStack_b0[4] != 0)))" ( (parenthesized_expression "(iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),\n         iVar11 == 0 && (aiStack_b0[4] != 0))" ( (comma_expression "iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8),\n         iVar11 == 0 && (aiStack_b0[4] != 0)" (assignment_expression "iVar11 = (**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8)" identifier = (call_expression "(**(code **)(puVar31 + 0x46f38))(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8)" (parenthesized_expression "(**(code **)(puVar31 + 0x46f38))" ( (pointer_expression "**(code **)(puVar31 + 0x46f38)" * (pointer_expression "*(code **)(puVar31 + 0x46f38)" * (cast_expression "(code **)(puVar31 + 0x46f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46f38)" ( (binary_expression "puVar31 + 0x46f38" identifier + number_literal) ))))) )) (argument_list "(*puVar26,iVar3,uStack_bc,piVar25,&iStack_b8)" ( (pointer_expression "*puVar26" * identifier) , identifier , identifier , identifier , (pointer_expression "&iStack_b8" & identifier) )))) , (binary_expression "iVar11 == 0 && (aiStack_b0[4] != 0)" (binary_expression "iVar11 == 0" identifier == number_literal) && (parenthesized_expression "(aiStack_b0[4] != 0)" ( (binary_expression "aiStack_b0[4] != 0" (subscript_expression "aiStack_b0[4]" identifier [ number_literal ]) != number_literal) )))) )) )) (compound_statement "{\nLAB_0005fd74:\n    if ((uint)aiStack_b0[3] < 8) {\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n    else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n  }" { (labeled_statement "LAB_0005fd74:\n    if ((uint)aiStack_b0[3] < 8) {\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n    else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }" statement_identifier : (if_statement "if ((uint)aiStack_b0[3] < 8) {\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }\n    else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }" if (parenthesized_expression "((uint)aiStack_b0[3] < 8)" ( (binary_expression "(uint)aiStack_b0[3] < 8" (cast_expression "(uint)aiStack_b0[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "aiStack_b0[3]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n      bVar1 = false;\n      if (iStack_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n      if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + aiStack_b0[3] + 3U;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (iStack_b8 != 0) goto LAB_0005fda8;" if (parenthesized_expression "(iStack_b8 != 0)" ( (binary_expression "iStack_b8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005fda8;" goto statement_identifier ;)) (labeled_statement "LAB_0005ffec:\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);" statement_identifier : (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar28 + -0x79f8,1)" ( identifier , number_literal , (binary_expression "iVar28 + -0x79f8" identifier + number_literal) , number_literal ))))) ;)) (if_statement "if (((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "(((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0))" ( (binary_expression "((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)) ||\n         (pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)" (parenthesized_expression "((pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0))" ( (binary_expression "(pLVar7 != (LDAPMessage *)0x0) ||\n          (pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)" (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0)" ( (comma_expression "pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n          pLVar7 != (LDAPMessage *)0x0" (assignment_expression "pLVar7 = (LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" identifier = (cast_expression "(LDAPMessage *)\n                    (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,aiStack_b0[4],aiStack_b0[3])" ( identifier , number_literal , (subscript_expression "aiStack_b0[4]" identifier [ number_literal ]) , (subscript_expression "aiStack_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0)" ( (comma_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2),\n         pLVar7 != (LDAPMessage *)0x0" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar10 + 0x3900,2)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar10 + 0x3900,2)" ( identifier , number_literal , (binary_expression "iVar10 + 0x3900" identifier + number_literal) , number_literal ))))) , (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar8 + aiStack_b0[3] + 3U;" (assignment_expression "uVar22 = uVar8 + aiStack_b0[3] + 3U" identifier = (binary_expression "uVar8 + aiStack_b0[3] + 3U" (binary_expression "uVar8 + aiStack_b0[3]" identifier + (subscript_expression "aiStack_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar22;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar22" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (call_expression "(uint)(uVar22 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar8)" ( (binary_expression "uVar22 < uVar8" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))))) ;) }) (else_clause "else {\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }" else (compound_statement "{\n      iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);\n      bVar1 = iVar11 == 0;\n      if (iStack_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);\n      if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }\n      (**(code **)(puVar31 + 0x47028))();\n      pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n      if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n      uVar8 = *(uint *)(iVar33 + 0xbc);\n      uVar22 = uVar8 + 1;\n      *(uint *)(iVar33 + 0xbc) = uVar22;\n      *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    }" { (expression_statement "iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7);" (assignment_expression "iVar11 = (**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7)" identifier = (call_expression "(**(code **)(puVar31 + 0x47058))\n                         (aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7)" (parenthesized_expression "(**(code **)(puVar31 + 0x47058))" ( (pointer_expression "**(code **)(puVar31 + 0x47058)" * (pointer_expression "*(code **)(puVar31 + 0x47058)" * (cast_expression "(code **)(puVar31 + 0x47058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47058)" ( (binary_expression "puVar31 + 0x47058" identifier + number_literal) ))))) )) (argument_list "(aiStack_b0[4] + (aiStack_b0[3] - 7U),iVar9 + 0x15a0,7)" ( (binary_expression "aiStack_b0[4] + (aiStack_b0[3] - 7U)" (subscript_expression "aiStack_b0[4]" identifier [ number_literal ]) + (parenthesized_expression "(aiStack_b0[3] - 7U)" ( (binary_expression "aiStack_b0[3] - 7U" (subscript_expression "aiStack_b0[3]" identifier [ number_literal ]) - number_literal) ))) , (binary_expression "iVar9 + 0x15a0" identifier + number_literal) , number_literal )))) ;) (expression_statement "bVar1 = iVar11 == 0;" (assignment_expression "bVar1 = iVar11 == 0" identifier = (binary_expression "iVar11 == 0" identifier == number_literal)) ;) (if_statement "if (iStack_b8 == 0) goto LAB_0005ffec;" if (parenthesized_expression "(iStack_b8 == 0)" ( (binary_expression "iStack_b8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005ffec;" goto statement_identifier ;)) (labeled_statement "LAB_0005fda8:\n      iVar11 = *(int *)(puVar31 + 0x46658);" statement_identifier : (expression_statement "iVar11 = *(int *)(puVar31 + 0x46658);" (assignment_expression "iVar11 = *(int *)(puVar31 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar31 + 0x46658)" * (cast_expression "(int *)(puVar31 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + 0x46658)" ( (binary_expression "puVar31 + 0x46658" identifier + number_literal) ))))) ;)) (if_statement "if (*(int *)(iStack_b8 + 4) != 0) {\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }" if (parenthesized_expression "(*(int *)(iStack_b8 + 4) != 0)" ( (binary_expression "*(int *)(iStack_b8 + 4) != 0" (pointer_expression "*(int *)(iStack_b8 + 4)" * (cast_expression "(int *)(iStack_b8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + 4)" ( (binary_expression "iStack_b8 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar24 = 0;\n        do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);\n      }" { (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        } while (iVar12 != 0);" do (compound_statement "{\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);\n          if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);\n          if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + aiStack_b0[3] + 2U;\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n          if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }\n          pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);\n          if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n          iVar24 = iVar24 + 8;\n          uVar8 = *(uint *)(iVar33 + 0xbc);\n          uVar22 = uVar8 + 1;\n          iVar12 = *(int *)(iStack_b8 + iVar24 + 4);\n          *(uint *)(iVar33 + 0xbc) = uVar22;\n          *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n        }" { (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar28 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar28 + -0x79f8,1)" ( identifier , number_literal , (binary_expression "iVar28 + -0x79f8" identifier + number_literal) , number_literal ))))) ;) (if_statement "if ((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "((pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0))" ( (binary_expression "(pLVar7 != (LDAPMessage *)0x0) ||\n             (pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)" (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0)" ( (comma_expression "pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3]),\n             pLVar7 != (LDAPMessage *)0x0" (assignment_expression "pLVar7 = (LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" identifier = (cast_expression "(LDAPMessage *)\n                       (**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,aiStack_b0[4],aiStack_b0[3])" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,aiStack_b0[4],aiStack_b0[3])" ( identifier , number_literal , (subscript_expression "aiStack_b0[4]" identifier [ number_literal ]) , (subscript_expression "aiStack_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar29 + -0x7558,1)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar29 + -0x7558,1)" ( identifier , number_literal , (binary_expression "iVar29 + -0x7558" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pLVar7 != (LDAPMessage *)0x0) {\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }" if (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *ppLStack_60 = pLVar7;\n            goto LAB_0005ff98;\n          }" { (expression_statement "*ppLStack_60 = pLVar7;" (assignment_expression "*ppLStack_60 = pLVar7" (pointer_expression "*ppLStack_60" * identifier) = identifier) ;) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar8 + aiStack_b0[3] + 2U;" (assignment_expression "uVar22 = uVar8 + aiStack_b0[3] + 2U" identifier = (binary_expression "uVar8 + aiStack_b0[3] + 2U" (binary_expression "uVar8 + aiStack_b0[3]" identifier + (subscript_expression "aiStack_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar22;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar22" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1];" (assignment_expression "pbVar20 = (byte *)((undefined4 *)(iStack_b8 + iVar24))[1]" identifier = (cast_expression "(byte *)((undefined4 *)(iStack_b8 + iVar24))[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((undefined4 *)(iStack_b8 + iVar24))[1]" (parenthesized_expression "((undefined4 *)(iStack_b8 + iVar24))" ( (cast_expression "(undefined4 *)(iStack_b8 + iVar24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) ))) )) [ number_literal ]))) ;) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (call_expression "(uint)(uVar22 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar8)" ( (binary_expression "uVar22 < uVar8" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))))) ;) (if_statement "if (bVar1) {\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }\n          else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n            uStack_b4 = 0;\n            aiStack_b0[0] = 0;\n            pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);\n            if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);\n            if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            uVar22 = uVar8 + 2;\n            *(uint *)(iVar33 + 0xbc) = uVar22;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n            if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }\n          }" { (expression_statement "uStack_b4 = 0;" (assignment_expression "uStack_b4 = 0" identifier = number_literal) ;) (expression_statement "aiStack_b0[0] = 0;" (assignment_expression "aiStack_b0[0] = 0" (subscript_expression "aiStack_b0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0);" (assignment_expression "pLVar7 = (LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0)" identifier = (cast_expression "(LDAPMessage *)\n                     (**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x4677c))\n                               (iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0)" (parenthesized_expression "(**(code **)(puVar31 + 0x4677c))" ( (pointer_expression "**(code **)(puVar31 + 0x4677c)" * (pointer_expression "*(code **)(puVar31 + 0x4677c)" * (cast_expression "(code **)(puVar31 + 0x4677c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x4677c)" ( (binary_expression "puVar31 + 0x4677c" identifier + number_literal) ))))) )) (argument_list "(iVar33,pbVar20,*(undefined4 *)(iStack_b8 + iVar24),&uStack_b4,\n                                aiStack_b0)" ( identifier , identifier , (pointer_expression "*(undefined4 *)(iStack_b8 + iVar24)" * (cast_expression "(undefined4 *)(iStack_b8 + iVar24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) )))) , (pointer_expression "&uStack_b4" & identifier) , identifier ))))) ;) (if_statement "if (pLVar7 != (LDAPMessage *)0x0) {\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }" if (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (**(code **)(puVar31 + 0x47028))(iStack_b8);\n              (**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);\n              (**(code **)(puVar31 + 0x4725c))(iStack_c0);\n              *ppLStack_60 = pLVar7;\n              goto LAB_0005ff98;\n            }" { (expression_statement "(**(code **)(puVar31 + 0x47028))(iStack_b8);" (call_expression "(**(code **)(puVar31 + 0x47028))(iStack_b8)" (parenthesized_expression "(**(code **)(puVar31 + 0x47028))" ( (pointer_expression "**(code **)(puVar31 + 0x47028)" * (pointer_expression "*(code **)(puVar31 + 0x47028)" * (cast_expression "(code **)(puVar31 + 0x47028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47028)" ( (binary_expression "puVar31 + 0x47028" identifier + number_literal) ))))) )) (argument_list "(iStack_b8)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar31 + 0x46fbc))(uStack_bc,0);" (call_expression "(**(code **)(puVar31 + 0x46fbc))(uStack_bc,0)" (parenthesized_expression "(**(code **)(puVar31 + 0x46fbc))" ( (pointer_expression "**(code **)(puVar31 + 0x46fbc)" * (pointer_expression "*(code **)(puVar31 + 0x46fbc)" * (cast_expression "(code **)(puVar31 + 0x46fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46fbc)" ( (binary_expression "puVar31 + 0x46fbc" identifier + number_literal) ))))) )) (argument_list "(uStack_bc,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar31 + 0x4725c))(iStack_c0);" (call_expression "(**(code **)(puVar31 + 0x4725c))(iStack_c0)" (parenthesized_expression "(**(code **)(puVar31 + 0x4725c))" ( (pointer_expression "**(code **)(puVar31 + 0x4725c)" * (pointer_expression "*(code **)(puVar31 + 0x4725c)" * (cast_expression "(code **)(puVar31 + 0x4725c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x4725c)" ( (binary_expression "puVar31 + 0x4725c" identifier + number_literal) ))))) )) (argument_list "(iStack_c0)" ( identifier ))) ;) (expression_statement "*ppLStack_60 = pLVar7;" (assignment_expression "*ppLStack_60 = pLVar7" (pointer_expression "*ppLStack_60" * identifier) = identifier) ;) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar30 + 0x2cb4,2)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar30 + 0x2cb4,2)" ( identifier , number_literal , (binary_expression "iVar30 + 0x2cb4" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar8 + 2;" (assignment_expression "uVar22 = uVar8 + 2" identifier = (binary_expression "uVar8 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar22;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar22" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (call_expression "(uint)(uVar22 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar8)" ( (binary_expression "uVar22 < uVar8" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))))) ;) (if_statement "if (aiStack_b0[0] != 0) {\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }" if (parenthesized_expression "(aiStack_b0[0] != 0)" ( (binary_expression "aiStack_b0[0] != 0" (subscript_expression "aiStack_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);\n              if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }\n              goto LAB_0005ff90;\n            }" { (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,uStack_b4)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,uStack_b4)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (pLVar7 == (LDAPMessage *)0x0) {\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }" if (parenthesized_expression "(pLVar7 == (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 == (LDAPMessage *)0x0" identifier == (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                (*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);\n                uVar8 = *(uint *)(iVar33 + 0xbc);\n                iVar21 = *(int *)(iVar33 + 0xb8);\n                iVar12 = aiStack_b0[0];\n                goto LAB_0005ff78;\n              }" { (expression_statement "(*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4);" (call_expression "(*(code *)**(undefined4 **)(puVar31 + 0x46608))(uStack_b4)" (parenthesized_expression "(*(code *)**(undefined4 **)(puVar31 + 0x46608))" ( (pointer_expression "*(code *)**(undefined4 **)(puVar31 + 0x46608)" * (cast_expression "(code *)**(undefined4 **)(puVar31 + 0x46608)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar31 + 0x46608)" * (pointer_expression "*(undefined4 **)(puVar31 + 0x46608)" * (cast_expression "(undefined4 **)(puVar31 + 0x46608)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46608)" ( (binary_expression "puVar31 + 0x46608" identifier + number_literal) ))))))) )) (argument_list "(uStack_b4)" ( identifier ))) ;) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(iVar33 + 0xb8);" (assignment_expression "iVar21 = *(int *)(iVar33 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = aiStack_b0[0];" (assignment_expression "iVar12 = aiStack_b0[0]" identifier = (subscript_expression "aiStack_b0[0]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0005ff78;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }" else (compound_statement "{\n            iVar12 = Curl_isspace((uint)*pbVar20);\n            if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }\n            puVar14 = (uint *)(iStack_b8 + iVar24);\n            uVar8 = 0;\n            if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }\n            pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);\n            if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;\n            uVar8 = *(uint *)(iVar33 + 0xbc);\n            iVar21 = *(int *)(iVar33 + 0xb8);\n            iVar12 = *(int *)(iStack_b8 + iVar24) + 1;\nLAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;\n            *(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;\n          }" { (expression_statement "iVar12 = Curl_isspace((uint)*pbVar20);" (assignment_expression "iVar12 = Curl_isspace((uint)*pbVar20)" identifier = (call_expression "Curl_isspace((uint)*pbVar20)" identifier (argument_list "((uint)*pbVar20)" ( (binary_expression "(uint)*pbVar20" (parenthesized_expression "(uint)" ( identifier )) * identifier) )))) ;) (if_statement "if ((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)) {\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }" if (parenthesized_expression "((iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0))" ( (binary_expression "(iVar12 != 0) ||\n               (iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0)" ( (comma_expression "iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)),\n               iVar12 != 0" (assignment_expression "iVar12 = Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1))" identifier = (call_expression "Curl_isspace((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1))" identifier (argument_list "((uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1))" ( (binary_expression "(uint)*(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1)" ( (binary_expression "((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24) + -1" (binary_expression "((int *)(iStack_b8 + iVar24))[1] +\n                                                      *(int *)(iStack_b8 + iVar24)" (subscript_expression "((int *)(iStack_b8 + iVar24))[1]" (parenthesized_expression "((int *)(iStack_b8 + iVar24))" ( (cast_expression "(int *)(iStack_b8 + iVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) ))) )) [ number_literal ]) + (pointer_expression "*(int *)(iStack_b8 + iVar24)" * (cast_expression "(int *)(iStack_b8 + iVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) ))))) + number_literal) )))) )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();\n              return CVar13;\n            }" { (labeled_statement "LAB_0005ff2c:\n              CVar13 = FUN_0005fdc0();" statement_identifier : (expression_statement "CVar13 = FUN_0005fdc0();" (assignment_expression "CVar13 = FUN_0005fdc0()" identifier = (call_expression "FUN_0005fdc0()" identifier (argument_list "()" ( )))) ;)) (return_statement "return CVar13;" return identifier ;) })) (expression_statement "puVar14 = (uint *)(iStack_b8 + iVar24);" (assignment_expression "puVar14 = (uint *)(iStack_b8 + iVar24)" identifier = (cast_expression "(uint *)(iStack_b8 + iVar24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) )))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (*puVar14 != 0) {\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }" if (parenthesized_expression "(*puVar14 != 0)" ( (binary_expression "*puVar14 != 0" (pointer_expression "*puVar14" * identifier) != number_literal) )) (compound_statement "{\n              do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);\n            }" { (do_statement "do {\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              } while (uVar8 < *puVar14);" do (compound_statement "{\n                iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));\n                if (iVar12 == 0) goto LAB_0005ff2c;\n                uVar8 = uVar8 + 1;\n                puVar14 = (uint *)(iStack_b8 + iVar24);\n              }" { (expression_statement "iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8));" (assignment_expression "iVar12 = Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8))" identifier = (call_expression "Curl_isprint((uint)*(byte *)(puVar14[1] + uVar8))" identifier (argument_list "((uint)*(byte *)(puVar14[1] + uVar8))" ( (binary_expression "(uint)*(byte *)(puVar14[1] + uVar8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(puVar14[1] + uVar8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14[1] + uVar8)" ( (binary_expression "puVar14[1] + uVar8" (subscript_expression "puVar14[1]" identifier [ number_literal ]) + identifier) )))) )))) ;) (if_statement "if (iVar12 == 0) goto LAB_0005ff2c;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005ff2c;" goto statement_identifier ;)) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar14 = (uint *)(iStack_b8 + iVar24);" (assignment_expression "puVar14 = (uint *)(iStack_b8 + iVar24)" identifier = (cast_expression "(uint *)(iStack_b8 + iVar24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) )))) ;) }) while (parenthesized_expression "(uVar8 < *puVar14)" ( (binary_expression "uVar8 < *puVar14" identifier < (pointer_expression "*puVar14" * identifier)) )) ;) })) (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar11 + 0x3290,1)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar11 + 0x3290,1)" ( identifier , number_literal , (binary_expression "iVar11 + 0x3290" identifier + number_literal) , number_literal ))))) ;) (if_statement "if ((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "((pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0))" ( (binary_expression "(pLVar7 != (LDAPMessage *)0x0) ||\n               (pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)" (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0)" ( (comma_expression "pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24)),\n               pLVar7 != (LDAPMessage *)0x0" (assignment_expression "pLVar7 = (LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24))" identifier = (cast_expression "(LDAPMessage *)\n                         (**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24))" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))\n                                   (piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24))" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,((undefined4 *)(iStack_b8 + iVar24))[1],\n                                    *(undefined4 *)(iStack_b8 + iVar24))" ( identifier , number_literal , (subscript_expression "((undefined4 *)(iStack_b8 + iVar24))[1]" (parenthesized_expression "((undefined4 *)(iStack_b8 + iVar24))" ( (cast_expression "(undefined4 *)(iStack_b8 + iVar24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) ))) )) [ number_literal ]) , (pointer_expression "*(undefined4 *)(iStack_b8 + iVar24)" * (cast_expression "(undefined4 *)(iStack_b8 + iVar24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) )))) ))))) , (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(iVar33 + 0xb8);" (assignment_expression "iVar21 = *(int *)(iVar33 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(iStack_b8 + iVar24) + 1;" (assignment_expression "iVar12 = *(int *)(iStack_b8 + iVar24) + 1" identifier = (binary_expression "*(int *)(iStack_b8 + iVar24) + 1" (pointer_expression "*(int *)(iStack_b8 + iVar24)" * (cast_expression "(int *)(iStack_b8 + iVar24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24)" ( (binary_expression "iStack_b8 + iVar24" identifier + identifier) )))) + number_literal)) ;) (labeled_statement "LAB_0005ff78:\n            *(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;" statement_identifier : (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar8 + iVar12;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar8 + iVar12" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = (binary_expression "uVar8 + iVar12" identifier + identifier)) ;)) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21;" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar8 + iVar12 < uVar8) + iVar21" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar8 + iVar12 < uVar8) + iVar21" (call_expression "(uint)(uVar8 + iVar12 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 + iVar12 < uVar8)" ( (binary_expression "uVar8 + iVar12 < uVar8" (binary_expression "uVar8 + iVar12" identifier + identifier) < identifier) ))) + identifier)) ;) }))) (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar6 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar6 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "iVar24 = iVar24 + 8;" (assignment_expression "iVar24 = iVar24 + 8" identifier = (binary_expression "iVar24 + 8" identifier + number_literal)) ;) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar8 + 1;" (assignment_expression "uVar22 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = *(int *)(iStack_b8 + iVar24 + 4);" (assignment_expression "iVar12 = *(int *)(iStack_b8 + iVar24 + 4)" identifier = (pointer_expression "*(int *)(iStack_b8 + iVar24 + 4)" * (cast_expression "(int *)(iStack_b8 + iVar24 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_b8 + iVar24 + 4)" ( (binary_expression "iStack_b8 + iVar24 + 4" (binary_expression "iStack_b8 + iVar24" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar22;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar22" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (call_expression "(uint)(uVar22 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar8)" ( (binary_expression "uVar22 < uVar8" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))))) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) })) (expression_statement "(**(code **)(puVar31 + 0x47028))();" (call_expression "(**(code **)(puVar31 + 0x47028))()" (parenthesized_expression "(**(code **)(puVar31 + 0x47028))" ( (pointer_expression "**(code **)(puVar31 + 0x47028)" * (pointer_expression "*(code **)(puVar31 + 0x47028)" * (cast_expression "(code **)(puVar31 + 0x47028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47028)" ( (binary_expression "puVar31 + 0x47028" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar6 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar6 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pLVar7 != (LDAPMessage *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(pLVar7 != (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 != (LDAPMessage *)0x0" identifier != (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar8 + 1;" (assignment_expression "uVar22 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar22;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar22" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (call_expression "(uint)(uVar22 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar8)" ( (binary_expression "uVar22 < uVar8" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))))) ;) })))) })) (labeled_statement "LAB_000600a8:\n  pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);" statement_identifier : (expression_statement "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0);" (assignment_expression "pLVar7 = (LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" identifier = (cast_expression "(LDAPMessage *)(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar31 + 0x46618))(piVar17,1,iVar6 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar31 + 0x46618))" ( (pointer_expression "**(code **)(puVar31 + 0x46618)" * (pointer_expression "*(code **)(puVar31 + 0x46618)" * (cast_expression "(code **)(puVar31 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46618)" ( (binary_expression "puVar31 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar17,1,iVar6 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar6 + -0x7194" identifier + number_literal) , number_literal ))))) ;)) (if_statement "if (pLVar7 == (LDAPMessage *)0x0) {\n    uVar8 = *(uint *)(iVar33 + 0xbc);\n    pcVar32 = *(code **)(puVar31 + 0x46fbc);\n    uVar22 = uVar8 + 1;\n    *(uint *)(iVar33 + 0xbc) = uVar22;\n    *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    (*pcVar32)(uStack_bc,0);\n    CVar13 = FUN_0005fc30(*puVar26);\n    return CVar13;\n  }" if (parenthesized_expression "(pLVar7 == (LDAPMessage *)0x0)" ( (binary_expression "pLVar7 == (LDAPMessage *)0x0" identifier == (cast_expression "(LDAPMessage *)0x0" ( (type_descriptor "LDAPMessage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar8 = *(uint *)(iVar33 + 0xbc);\n    pcVar32 = *(code **)(puVar31 + 0x46fbc);\n    uVar22 = uVar8 + 1;\n    *(uint *)(iVar33 + 0xbc) = uVar22;\n    *(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);\n    (*pcVar32)(uStack_bc,0);\n    CVar13 = FUN_0005fc30(*puVar26);\n    return CVar13;\n  }" { (expression_statement "uVar8 = *(uint *)(iVar33 + 0xbc);" (assignment_expression "uVar8 = *(uint *)(iVar33 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(puVar31 + 0x46fbc);" (assignment_expression "pcVar32 = *(code **)(puVar31 + 0x46fbc)" identifier = (pointer_expression "*(code **)(puVar31 + 0x46fbc)" * (cast_expression "(code **)(puVar31 + 0x46fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x46fbc)" ( (binary_expression "puVar31 + 0x46fbc" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar8 + 1;" (assignment_expression "uVar22 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar33 + 0xbc) = uVar22;" (assignment_expression "*(uint *)(iVar33 + 0xbc) = uVar22" (pointer_expression "*(uint *)(iVar33 + 0xbc)" * (cast_expression "(uint *)(iVar33 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xbc)" ( (binary_expression "iVar33 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8);" (assignment_expression "*(uint *)(iVar33 + 0xb8) = (uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (pointer_expression "*(uint *)(iVar33 + 0xb8)" * (cast_expression "(uint *)(iVar33 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar22 < uVar8) + *(int *)(iVar33 + 0xb8)" (call_expression "(uint)(uVar22 < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar22 < uVar8)" ( (binary_expression "uVar22 < uVar8" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar33 + 0xb8)" * (cast_expression "(int *)(iVar33 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0xb8)" ( (binary_expression "iVar33 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "(*pcVar32)(uStack_bc,0);" (call_expression "(*pcVar32)(uStack_bc,0)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(uStack_bc,0)" ( identifier , number_literal ))) ;) (expression_statement "CVar13 = FUN_0005fc30(*puVar26);" (assignment_expression "CVar13 = FUN_0005fc30(*puVar26)" identifier = (call_expression "FUN_0005fc30(*puVar26)" identifier (argument_list "(*puVar26)" ( (pointer_expression "*puVar26" * identifier) )))) ;) (return_statement "return CVar13;" return identifier ;) })) (labeled_statement "LAB_0005ff90:\n  *ppLStack_60 = pLVar7;" statement_identifier : (expression_statement "*ppLStack_60 = pLVar7;" (assignment_expression "*ppLStack_60 = pLVar7" (pointer_expression "*ppLStack_60" * identifier) = identifier) ;)) (labeled_statement "LAB_0005ff98:\n  CVar13 = ~CURLE_OK;" statement_identifier : (expression_statement "CVar13 = ~CURLE_OK;" (assignment_expression "CVar13 = ~CURLE_OK" identifier = (unary_expression "~CURLE_OK" ~ identifier)) ;)) (labeled_statement "LAB_0005ff9c:\n  if (piStack_9c != (int *)*puVar5) {\n    pcVar32 = *(code **)(puVar31 + 0x47118);\n    piVar17 = piStack_9c;\n    (*pcVar32)();\n    iVar3 = *piVar17;\n    piVar25 = *(int **)(iVar3 + 0x154);\n    if (piVar25 != (int *)0x0) {\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }\n    return CURLE_OK;\n  }" statement_identifier : (if_statement "if (piStack_9c != (int *)*puVar5) {\n    pcVar32 = *(code **)(puVar31 + 0x47118);\n    piVar17 = piStack_9c;\n    (*pcVar32)();\n    iVar3 = *piVar17;\n    piVar25 = *(int **)(iVar3 + 0x154);\n    if (piVar25 != (int *)0x0) {\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }\n    return CURLE_OK;\n  }" if (parenthesized_expression "(piStack_9c != (int *)*puVar5)" ( (binary_expression "piStack_9c != (int *)*puVar5" identifier != (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) )) (compound_statement "{\n    pcVar32 = *(code **)(puVar31 + 0x47118);\n    piVar17 = piStack_9c;\n    (*pcVar32)();\n    iVar3 = *piVar17;\n    piVar25 = *(int **)(iVar3 + 0x154);\n    if (piVar25 != (int *)0x0) {\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }\n    return CURLE_OK;\n  }" { (expression_statement "pcVar32 = *(code **)(puVar31 + 0x47118);" (assignment_expression "pcVar32 = *(code **)(puVar31 + 0x47118)" identifier = (pointer_expression "*(code **)(puVar31 + 0x47118)" * (cast_expression "(code **)(puVar31 + 0x47118)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar31 + 0x47118)" ( (binary_expression "puVar31 + 0x47118" identifier + number_literal) ))))) ;) (expression_statement "piVar17 = piStack_9c;" (assignment_expression "piVar17 = piStack_9c" identifier = identifier) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = *piVar17;" (assignment_expression "iVar3 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piVar25 = *(int **)(iVar3 + 0x154);" (assignment_expression "piVar25 = *(int **)(iVar3 + 0x154)" identifier = (pointer_expression "*(int **)(iVar3 + 0x154)" * (cast_expression "(int **)(iVar3 + 0x154)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x154)" ( (binary_expression "iVar3 + 0x154" identifier + number_literal) ))))) ;) (if_statement "if (piVar25 != (int *)0x0) {\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }" if (parenthesized_expression "(piVar25 != (int *)0x0)" ( (binary_expression "piVar25 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }\n      *(undefined4 *)(iVar3 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);\n    }" { (if_statement "if (*piVar25 != 0) {\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }" if (parenthesized_expression "(*piVar25 != 0)" ( (binary_expression "*piVar25 != 0" (pointer_expression "*piVar25" * identifier) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);\n        iVar3 = *piVar17;\n        *piVar25 = 0;\n      }" { (expression_statement "(**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0);" (call_expression "(**(code **)(pcVar32 + 0x46ad4))(*(undefined4 *)piVar17[300],*piVar25,0,0)" (parenthesized_expression "(**(code **)(pcVar32 + 0x46ad4))" ( (pointer_expression "**(code **)(pcVar32 + 0x46ad4)" * (pointer_expression "*(code **)(pcVar32 + 0x46ad4)" * (cast_expression "(code **)(pcVar32 + 0x46ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x46ad4)" ( (binary_expression "pcVar32 + 0x46ad4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar17[300],*piVar25,0,0)" ( (pointer_expression "*(undefined4 *)piVar17[300]" * (cast_expression "(undefined4 *)piVar17[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar17[300]" identifier [ number_literal ]))) , (pointer_expression "*piVar25" * identifier) , number_literal , number_literal ))) ;) (expression_statement "iVar3 = *piVar17;" (assignment_expression "iVar3 = *piVar17" identifier = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "*piVar25 = 0;" (assignment_expression "*piVar25 = 0" (pointer_expression "*piVar25" * identifier) = number_literal) ;) })) (expression_statement "*(undefined4 *)(iVar3 + 0x154) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 0x154) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 0x154)" * (cast_expression "(undefined4 *)(iVar3 + 0x154)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x154)" ( (binary_expression "iVar3 + 0x154" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25);" (call_expression "(*(code *)**(undefined4 **)(pcVar32 + 0x45d28))(piVar25)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar32 + 0x45d28))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar32 + 0x45d28)" * (cast_expression "(code *)**(undefined4 **)(pcVar32 + 0x45d28)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar32 + 0x45d28)" * (pointer_expression "*(undefined4 **)(pcVar32 + 0x45d28)" * (cast_expression "(undefined4 **)(pcVar32 + 0x45d28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x45d28)" ( (binary_expression "pcVar32 + 0x45d28" identifier + number_literal) ))))))) )) (argument_list "(piVar25)" ( identifier ))) ;) })) (return_statement "return CURLE_OK;" return identifier ;) }))) (return_statement "return CVar13;" return identifier ;) })))
(translation_unit "int FUN_0005f798(undefined4 *param_1,undefined1 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}\n\n" (function_definition "int FUN_0005f798(undefined4 *param_1,undefined1 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}" primitive_type (function_declarator "FUN_0005f798(undefined4 *param_1,undefined1 *param_2)" identifier (parameter_list "(undefined4 *param_1,undefined1 *param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "int local_b8;" primitive_type identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "int local_b0 [5];" primitive_type (array_declarator "local_b0 [5]" identifier [ number_literal ]) ;) (declaration "int *local_9c;" primitive_type (pointer_declarator "*local_9c" * identifier) ;) (declaration "undefined4 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "int *local_94;" primitive_type (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined **local_60;" type_identifier (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier)) ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar5 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(int **)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 1;" (assignment_expression "local_30 = 1" identifier = number_literal) ;) (expression_statement "local_38 = (undefined *)0x0;" (assignment_expression "local_38 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)param_1[300];" (assignment_expression "puVar20 = (undefined4 *)param_1[300]" identifier = (cast_expression "(undefined4 *)param_1[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[300]" identifier [ number_literal ]))) ;) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" if (parenthesized_expression "((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0)" ( (binary_expression "(*(uint *)(param_1[0xa1] + 0x44) & 1) == 0" (parenthesized_expression "(*(uint *)(param_1[0xa1] + 0x44) & 1)" ( (binary_expression "*(uint *)(param_1[0xa1] + 0x44) & 1" (pointer_expression "*(uint *)(param_1[0xa1] + 0x44)" * (cast_expression "(uint *)(param_1[0xa1] + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0xa1] + 0x44)" ( (binary_expression "param_1[0xa1] + 0x44" (subscript_expression "param_1[0xa1]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }" { (labeled_statement "LAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" statement_identifier : (if_statement "if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" if (parenthesized_expression "(*(char *)((int)puVar20 + 0x16) == '\0')" ( (binary_expression "*(char *)((int)puVar20 + 0x16) == '\0'" (pointer_expression "*(char *)((int)puVar20 + 0x16)" * (cast_expression "(char *)((int)puVar20 + 0x16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x16)" ( (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }" { (labeled_statement "LAB_0005f900:\n      unaff_s1 = &local_2c;" statement_identifier : (expression_statement "unaff_s1 = &local_2c;" (assignment_expression "unaff_s1 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;)) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x96) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x96) == '\0'" (pointer_expression "*(char *)(param_1 + 0x96)" * (cast_expression "(char *)(param_1 + 0x96)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x96)" ( (binary_expression "param_1 + 0x96" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_28 = 0;\n        local_2c = 0;\n      }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" else (compound_statement "{\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" { (expression_statement "local_28 = param_1[0x5d];" (assignment_expression "local_28 = param_1[0x5d]" identifier = (subscript_expression "param_1[0x5d]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = param_1[0x5c];" (assignment_expression "uVar15 = param_1[0x5c]" identifier = (subscript_expression "param_1[0x5c]" identifier [ number_literal ])) ;) (expression_statement "local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);" (assignment_expression "local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28)" identifier = (call_expression "(*(code *)PTR_strlen_000a6ea8)(local_28)" (parenthesized_expression "(*(code *)PTR_strlen_000a6ea8)" ( (pointer_expression "*(code *)PTR_strlen_000a6ea8" * (cast_expression "(code *)PTR_strlen_000a6ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28)" ( identifier )))) ;) }))) (expression_statement "local_60 = (undefined **)0x0;" (assignment_expression "local_60 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1)" identifier = (call_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)" ( (pointer_expression "*(code *)PTR_ldap_sasl_bind_000a6fa8" * (cast_expression "(code *)PTR_ldap_sasl_bind_000a6fa8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,uVar15,0,unaff_s1)" ( (pointer_expression "*puVar20" * identifier) , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }" { (expression_statement "*(undefined1 *)((int)puVar20 + 0x16) = 1;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x16) = 1" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x16)" * (cast_expression "(undefined1 *)((int)puVar20 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x16)" ( (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;) })) }) (else_clause "else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" else (compound_statement "{\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" { (expression_statement "local_60 = &local_40;" (assignment_expression "local_60 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34)" identifier = (call_expression "(*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34)" (parenthesized_expression "(*(code *)PTR_ldap_result_000a6c94)" ( (pointer_expression "*(code *)PTR_ldap_result_000a6c94" * (cast_expression "(code *)PTR_ldap_result_000a6c94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,puVar20[4],0,&local_34)" ( (pointer_expression "*puVar20" * identifier) , (subscript_expression "puVar20[4]" identifier [ number_literal ]) , number_literal , (pointer_expression "&local_34" & identifier) )))) ;) (if_statement "if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }" { (if_statement "if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }" { (expression_statement "local_60 = &local_38;" (assignment_expression "local_60 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0)" identifier = (call_expression "(*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0)" (parenthesized_expression "(*(code *)PTR_ldap_parse_result_000a6d74)" ( (pointer_expression "*(code *)PTR_ldap_parse_result_000a6d74" * (cast_expression "(code *)PTR_ldap_parse_result_000a6d74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,local_40,&local_3c,0)" ( (pointer_expression "*puVar20" * identifier) , identifier , (pointer_expression "&local_3c" & identifier) , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }" { (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14c0" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar2 = 0x26;" (assignment_expression "iVar2 = 0x26" identifier = number_literal) ;) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;) })) (if_statement "if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }" if (parenthesized_expression "(local_3c == 2)" ( (binary_expression "local_3c == 2" identifier == number_literal) )) (compound_statement "{\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }" { (expression_statement "unaff_s1 = &local_2c;" (assignment_expression "unaff_s1 = &local_2c" identifier = (pointer_expression "&local_2c" & identifier)) ;) (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" ( (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" * (cast_expression "(code *)PTR_ldap_get_option_000a6abc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,0x11,unaff_s1)" ( (pointer_expression "*puVar20" * identifier) , number_literal , identifier ))) ;) (if_statement "if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }" if (parenthesized_expression "(local_2c == 3)" ( (binary_expression "local_2c == 3" identifier == number_literal) )) (compound_statement "{\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }" { (if_statement "if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }" if (parenthesized_expression "(local_38 != (undefined *)0x0)" ( (binary_expression "local_38 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "local_38 = (undefined *)0x0;" (assignment_expression "local_38 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_2c = 2;" (assignment_expression "local_2c = 2" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_set_option_000a6b70)" ( (pointer_expression "*(code *)PTR_ldap_set_option_000a6b70" * (cast_expression "(code *)PTR_ldap_set_option_000a6b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,0x11,unaff_s1)" ( (pointer_expression "*puVar20" * identifier) , number_literal , identifier ))) ;) (expression_statement "*(undefined1 *)((int)puVar20 + 0x16) = 0;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x16) = 0" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x16)" * (cast_expression "(undefined1 *)((int)puVar20 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x16)" ( (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0005f900;" goto statement_identifier ;) })) })) (if_statement "if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" if (parenthesized_expression "(local_3c == 0)" ( (binary_expression "local_3c == 0" identifier == number_literal) )) (compound_statement "{\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }" { (if_statement "if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }" if (parenthesized_expression "(local_38 != (undefined *)0x0)" ( (binary_expression "local_38 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;" (assignment_expression "param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4" (subscript_expression "param_1[0x6b]" identifier [ number_literal ]) = (binary_expression "PTR_LAB_000a6744 + -0x4c4" identifier + number_literal)) ;) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" * identifier) = number_literal) ;) }) (else_clause "else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" else (compound_statement "{\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" { (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(0)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "puVar18 = local_38;" (assignment_expression "puVar18 = local_38" identifier = identifier) ;) (if_statement "if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }" if (parenthesized_expression "(local_38 == (undefined *)0x0)" ( (binary_expression "local_38 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }" { (expression_statement "puVar18 = PTR_UINT_000a6194 + 0x3538;" (assignment_expression "puVar18 = PTR_UINT_000a6194 + 0x3538" identifier = (binary_expression "PTR_UINT_000a6194 + 0x3538" identifier + number_literal)) ;) })) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14e8" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" if (parenthesized_expression "(local_38 == (undefined *)0x0)" ( (binary_expression "local_38 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar2 = 0x43;\n            }" { (expression_statement "iVar2 = 0x43;" (assignment_expression "iVar2 = 0x43" identifier = number_literal) ;) }) (else_clause "else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" else (compound_statement "{\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" { (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" ( (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" * (cast_expression "(code *)PTR_ldap_memfree_000a6b54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = 0x43;" (assignment_expression "iVar2 = 0x43" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005f9f4;" goto statement_identifier ;) })) (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" identifier = (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" ( (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" * (cast_expression "(code *)PTR_ldap_err2string_000a6cac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" ( (pointer_expression "*(code *)PTR_FUN_000a614c" * (cast_expression "(code *)PTR_FUN_000a614c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15)" ( identifier , (binary_expression "PTR_UINT_000a6194 + 0x14a0" identifier + number_literal) , identifier ))) ;) })))) (expression_statement "iVar2 = 0x26;" (assignment_expression "iVar2 = 0x26" identifier = number_literal) ;) }) (else_clause "else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" else (compound_statement "{\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" { (if_statement "if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }" if (parenthesized_expression "(*(char *)(puVar20 + 5) != '\0')" ( (binary_expression "*(char *)(puVar20 + 5) != '\0'" (pointer_expression "*(char *)(puVar20 + 5)" * (cast_expression "(char *)(puVar20 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 5)" ( (binary_expression "puVar20 + 5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }" { (labeled_statement "LAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" statement_identifier : (if_statement "if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" if (parenthesized_expression "(*(char *)((int)puVar20 + 0x15) == '\0')" ( (binary_expression "*(char *)((int)puVar20 + 0x15) == '\0'" (pointer_expression "*(char *)((int)puVar20 + 0x15)" * (cast_expression "(char *)((int)puVar20 + 0x15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x15)" ( (binary_expression "(int)puVar20 + 0x15" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" { (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" ( (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" * (cast_expression "(code *)PTR_ldap_get_option_000a6abc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar20,0x5008,&local_2c)" ( (pointer_expression "*puVar20" * identifier) , number_literal , (pointer_expression "&local_2c" & identifier) ))) ;) (expression_statement "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);" (call_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1)" (parenthesized_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)" ( (pointer_expression "*(code *)PTR_ber_sockbuf_add_io_000a6c64" * (cast_expression "(code *)PTR_ber_sockbuf_add_io_000a6c64" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1)" ( identifier , (binary_expression "PTR_DAT_000a612c + 0x60b0" identifier + number_literal) , number_literal , identifier ))) ;) (expression_statement "uVar12 = param_1[0x6b];" (assignment_expression "uVar12 = param_1[0x6b]" identifier = (subscript_expression "param_1[0x6b]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = param_1[0x6d];" (assignment_expression "uVar15 = param_1[0x6d]" identifier = (subscript_expression "param_1[0x6d]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 *)((int)puVar20 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x15)" * (cast_expression "(undefined1 *)((int)puVar20 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + 0x15)" ( (binary_expression "(int)puVar20 + 0x15" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar20[1] = uVar12;" (assignment_expression "puVar20[1] = uVar12" (subscript_expression "puVar20[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar20[2] = uVar15;" (assignment_expression "puVar20[2] = uVar15" (subscript_expression "puVar20[2]" identifier [ number_literal ]) = identifier) ;) }))) (goto_statement "goto LAB_0005f820;" goto statement_identifier ;) })) (expression_statement "iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5)" identifier = (call_expression "(*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5)" (parenthesized_expression "(*(code *)PTR_FUN_000a6288)" ( (pointer_expression "*(code *)PTR_FUN_000a6288" * (cast_expression "(code *)PTR_FUN_000a6288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0,puVar20 + 5)" ( identifier , number_literal , (binary_expression "puVar20 + 5" identifier + number_literal) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0005f9a4;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005f9a4;" goto statement_identifier ;)) (if_statement "if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;" if (parenthesized_expression "(*(char *)(puVar20 + 5) != '\0')" ( (binary_expression "*(char *)(puVar20 + 5) != '\0'" (pointer_expression "*(char *)(puVar20 + 5)" * (cast_expression "(char *)(puVar20 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 5)" ( (binary_expression "puVar20 + 5" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0005f814;" goto statement_identifier ;)) (labeled_statement "LAB_0005f9f4:\n    iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_24 == *(int **)puVar5)" ( (binary_expression "local_24 == *(int **)puVar5" identifier == (pointer_expression "*(int **)puVar5" * (cast_expression "(int **)puVar5" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "piVar14 = local_24;" (assignment_expression "piVar14 = local_24" identifier = identifier) ;) (expression_statement "puVar18 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar18 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar3 = *(undefined4 **)(puVar18 + 0x474a4);" (assignment_expression "puVar3 = *(undefined4 **)(puVar18 + 0x474a4)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + 0x474a4)" * (cast_expression "(undefined4 **)(puVar18 + 0x474a4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x474a4)" ( (binary_expression "puVar18 + 0x474a4" identifier + number_literal) ))))) ;) (expression_statement "local_8c = puVar5;" (assignment_expression "local_8c = puVar5" identifier = identifier) ;) (expression_statement "iVar29 = *piVar14;" (assignment_expression "iVar29 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "local_9c = (int *)*puVar3;" (assignment_expression "local_9c = (int *)*puVar3" identifier = (cast_expression "(int *)*puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "puVar23 = (undefined4 *)piVar14[300];" (assignment_expression "puVar23 = (undefined4 *)piVar14[300]" identifier = (cast_expression "(undefined4 *)piVar14[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[300]" identifier [ number_literal ]))) ;) (expression_statement "puVar13 = *(undefined4 **)(iVar29 + 0x154);" (assignment_expression "puVar13 = *(undefined4 **)(iVar29 + 0x154)" identifier = (pointer_expression "*(undefined4 **)(iVar29 + 0x154)" * (cast_expression "(undefined4 **)(iVar29 + 0x154)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x154)" ( (binary_expression "iVar29 + 0x154" identifier + number_literal) ))))) ;) (expression_statement "local_b0[2] = 1;" (assignment_expression "local_b0[2] = 1" (subscript_expression "local_b0[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b0[1] = 0;" (assignment_expression "local_b0[1] = 0" (subscript_expression "local_b0[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_98 = puVar20;" (assignment_expression "local_98 = puVar20" identifier = identifier) ;) (expression_statement "local_94 = unaff_s1;" (assignment_expression "local_94 = unaff_s1" identifier = identifier) ;) (expression_statement "local_90 = param_1;" (assignment_expression "local_90 = param_1" identifier = identifier) ;) (expression_statement "local_88 = uVar24;" (assignment_expression "local_88 = uVar24" identifier = identifier) ;) (expression_statement "local_84 = param_2;" (assignment_expression "local_84 = param_2" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" identifier = (call_expression "(**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47158))" ( (pointer_expression "**(code **)(puVar18 + 0x47158)" * (pointer_expression "*(code **)(puVar18 + 0x47158)" * (cast_expression "(code **)(puVar18 + 0x47158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47158)" ( (binary_expression "puVar18 + 0x47158" identifier + number_literal) ))))) )) (argument_list "(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" ( (pointer_expression "*puVar23" * identifier) , (pointer_expression "*puVar13" * identifier) , number_literal , (binary_expression "local_b0 + 1" identifier + number_literal) , (pointer_expression "&local_c0" & identifier) )))) ;) (if_statement "if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }" { (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;) (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x47170))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" ( (pointer_expression "**(code **)(puVar18 + 0x47170)" * (pointer_expression "*(code **)(puVar18 + 0x47170)" * (cast_expression "(code **)(puVar18 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47170)" ( (binary_expression "puVar18 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);" (call_expression "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" ( (pointer_expression "**(code **)(puVar18 + 0x46610)" * (pointer_expression "*(code **)(puVar18 + 0x46610)" * (cast_expression "(code **)(puVar18 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46610)" ( (binary_expression "puVar18 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1508" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "*local_60 = (undefined *)0x38;" (assignment_expression "*local_60 = (undefined *)0x38" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x38" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" else (compound_statement "{\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" { (expression_statement "*local_60 = (undefined *)0x51;" (assignment_expression "*local_60 = (undefined *)0x51" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x51" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" if (parenthesized_expression "(local_c0 == 0)" ( (binary_expression "local_c0 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0005ff98:\n      iVar25 = -1;\n    }" { (labeled_statement "LAB_0005ff98:\n      iVar25 = -1;" statement_identifier : (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;)) }) (else_clause "else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" else (compound_statement "{\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" { (expression_statement "iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23)" identifier = (call_expression "(**(code **)(puVar18 + 0x46dd8))(*puVar23)" (parenthesized_expression "(**(code **)(puVar18 + 0x46dd8))" ( (pointer_expression "**(code **)(puVar18 + 0x46dd8)" * (pointer_expression "*(code **)(puVar18 + 0x46dd8)" * (cast_expression "(code **)(puVar18 + 0x46dd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46dd8)" ( (binary_expression "puVar18 + 0x46dd8" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;) (if_statement "if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }" { (expression_statement "iVar26 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar26 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar27 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar25 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (do_statement "do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);" do (compound_statement "{\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        }" { (expression_statement "iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);" (assignment_expression "iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x47068))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47068))" ( (pointer_expression "**(code **)(puVar18 + 0x47068)" * (pointer_expression "*(code **)(puVar18 + 0x47068)" * (cast_expression "(code **)(puVar18 + 0x47068)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47068)" ( (binary_expression "puVar18 + 0x47068" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (if_statement "if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }" if (parenthesized_expression "(iVar4 == 0x65)" ( (binary_expression "iVar4 == 0x65" identifier == number_literal) )) (compound_statement "{\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }" { (expression_statement "local_b0[3] = 0;" (assignment_expression "local_b0[3] = 0" (subscript_expression "local_b0[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" identifier = (call_expression "(**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47238))" ( (pointer_expression "**(code **)(puVar18 + 0x47238)" * (pointer_expression "*(code **)(puVar18 + 0x47238)" * (cast_expression "(code **)(puVar18 + 0x47238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47238)" ( (binary_expression "puVar18 + 0x47238" identifier + number_literal) ))))) )) (argument_list "(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" ( (pointer_expression "*puVar23" * identifier) , identifier , identifier , number_literal , (binary_expression "local_b0 + 3" identifier + number_literal) , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }" { (if_statement "if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }" if (parenthesized_expression "(local_b0[0] != 0)" ( (binary_expression "local_b0[0] != 0" (subscript_expression "local_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }" { (if_statement "if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }" if (parenthesized_expression "(local_b0[0] != 4)" ( (binary_expression "local_b0[0] != 4" (subscript_expression "local_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }" { (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(0);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(0)" identifier = (call_expression "(**(code **)(puVar18 + 0x47170))(0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" ( (pointer_expression "**(code **)(puVar18 + 0x47170)" * (pointer_expression "*(code **)(puVar18 + 0x47170)" * (cast_expression "(code **)(puVar18 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47170)" ( (binary_expression "puVar18 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "uVar6 = local_b0[3];" (assignment_expression "uVar6 = local_b0[3]" identifier = (subscript_expression "local_b0[3]" identifier [ number_literal ])) ;) (if_statement "if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }" if (parenthesized_expression "(local_b0[3] == 0)" ( (binary_expression "local_b0[3] == 0" (subscript_expression "local_b0[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }" { (expression_statement "uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;" (assignment_expression "uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538" identifier = (binary_expression "*(int *)(puVar18 + 0x46658) + 0x3538" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "(**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);" (call_expression "(**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" ( (pointer_expression "**(code **)(puVar18 + 0x46610)" * (pointer_expression "*(code **)(puVar18 + 0x46610)" * (cast_expression "(code **)(puVar18 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46610)" ( (binary_expression "puVar18 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1554" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_00060368;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);" (call_expression "(**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1])" (parenthesized_expression "(**(code **)(puVar18 + 0x46670))" ( (pointer_expression "**(code **)(puVar18 + 0x46670)" * (pointer_expression "*(code **)(puVar18 + 0x46670)" * (cast_expression "(code **)(puVar18 + 0x46670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46670)" ( (binary_expression "puVar18 + 0x46670" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1])" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1578" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , (subscript_expression "puVar13[1]" identifier [ number_literal ]) ))) ;) })) (expression_statement "*(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);" (assignment_expression "*(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc)" (pointer_expression "*(undefined4 *)(iVar29 + 0x9c)" * (cast_expression "(undefined4 *)(iVar29 + 0x9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x9c)" ( (binary_expression "iVar29 + 0x9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0xbc)" * (cast_expression "(undefined4 *)(iVar29 + 0xbc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);" (assignment_expression "*(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8)" (pointer_expression "*(undefined4 *)(iVar29 + 0x98)" * (cast_expression "(undefined4 *)(iVar29 + 0x98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x98)" ( (binary_expression "iVar29 + 0x98" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0xb8)" * (cast_expression "(undefined4 *)(iVar29 + 0xb8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "*local_60 = (undefined *)0x0;" (assignment_expression "*local_60 = (undefined *)0x0" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" else (compound_statement "{\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" { (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x47170))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" ( (pointer_expression "**(code **)(puVar18 + 0x47170)" * (pointer_expression "*(code **)(puVar18 + 0x47170)" * (cast_expression "(code **)(puVar18 + 0x47170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47170)" ( (binary_expression "puVar18 + 0x47170" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);" (call_expression "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" ( (pointer_expression "**(code **)(puVar18 + 0x46610)" * (pointer_expression "*(code **)(puVar18 + 0x46610)" * (cast_expression "(code **)(puVar18 + 0x46610)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46610)" ( (binary_expression "puVar18 + 0x46610" identifier + number_literal) ))))) )) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24)" ( identifier , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x152c" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (labeled_statement "LAB_00060368:\n              iVar25 = -1;" statement_identifier : (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;)) (expression_statement "*local_60 = (undefined *)0x27;" (assignment_expression "*local_60 = (undefined *)0x27" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x27" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x47018);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x47018)" identifier = (pointer_expression "*(code **)(puVar18 + 0x47018)" * (cast_expression "(code **)(puVar18 + 0x47018)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47018)" ( (binary_expression "puVar18 + 0x47018" identifier + number_literal) ))))) ;) (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "(*pcVar28)(local_b0[3]);" (call_expression "(*pcVar28)(local_b0[3])" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_b0[3])" ( (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0006023c;" goto statement_identifier ;) })) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (if_statement "if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }" if (parenthesized_expression "(iVar4 == 100)" ( (binary_expression "iVar4 == 100" identifier == number_literal) )) (compound_statement "{\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }" { (expression_statement "piVar22 = local_b0 + 3;" (assignment_expression "piVar22 = local_b0 + 3" identifier = (binary_expression "local_b0 + 3" identifier + number_literal)) ;) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x472b8);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x472b8)" identifier = (pointer_expression "*(code **)(puVar18 + 0x472b8)" * (cast_expression "(code **)(puVar18 + 0x472b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x472b8)" ( (binary_expression "puVar18 + 0x472b8" identifier + number_literal) ))))) ;) (expression_statement "puVar13[1] = puVar13[1] + 1;" (assignment_expression "puVar13[1] = puVar13[1] + 1" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = (binary_expression "puVar13[1] + 1" (subscript_expression "puVar13[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);" (assignment_expression "iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22)" identifier = (call_expression "(*pcVar28)(uVar24,iVar2,&local_bc,piVar22)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uVar24,iVar2,&local_bc,piVar22)" ( identifier , identifier , (pointer_expression "&local_bc" & identifier) , identifier )))) ;) (if_statement "if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n              *local_60 = (undefined *)0x38;\n            }" { (expression_statement "*local_60 = (undefined *)0x38;" (assignment_expression "*local_60 = (undefined *)0x38" (pointer_expression "*local_60" * identifier) = (cast_expression "(undefined *)0x38" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" else (compound_statement "{\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" { (expression_statement "puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);" (assignment_expression "puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" identifier = (cast_expression "(undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" ( identifier , number_literal , (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1598" (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (if_statement "if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }" if (parenthesized_expression "((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0))" ( (binary_expression "(puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)" (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" identifier = (cast_expression "(undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" ( identifier , number_literal , (subscript_expression "local_b0[4]" identifier [ number_literal ]) , (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }" { (expression_statement "iVar4 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar4 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);" (assignment_expression "puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" identifier = (cast_expression "(undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,1)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }" { (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x46f38);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x46f38)" identifier = (pointer_expression "*(code **)(puVar18 + 0x46f38)" * (cast_expression "(code **)(puVar18 + 0x46f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46f38)" ( (binary_expression "puVar18 + 0x46f38" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + local_b0[3] + 5U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 5U" identifier = (binary_expression "uVar6 + local_b0[3] + 5U" (binary_expression "uVar6 + local_b0[3]" identifier + (subscript_expression "local_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);" (assignment_expression "iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8)" identifier = (call_expression "(*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(uVar24,iVar2,local_bc,piVar22,&local_b8)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_b8" & identifier) )))) ;) (if_statement "if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }" if (parenthesized_expression "((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0))" ( (binary_expression "(iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)" ( (comma_expression "iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0" (assignment_expression "iVar7 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) , (binary_expression "local_b0[4] != 0" (subscript_expression "local_b0[4]" identifier [ number_literal ]) != number_literal)) ))) )) (compound_statement "{\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }" { (expression_statement "iVar8 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar8 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;) (do_statement "do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));" do (compound_statement "{\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    }" { (if_statement "if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" if (parenthesized_expression "((uint)local_b0[3] < 8)" ( (binary_expression "(uint)local_b0[3] < 8" (cast_expression "(uint)local_b0[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_b0[3]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (local_b8 != 0) goto LAB_0005fda8;" if (parenthesized_expression "(local_b8 != 0)" ( (binary_expression "local_b8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0005fda8;" goto statement_identifier ;)) (labeled_statement "LAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" statement_identifier : (expression_statement "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" (assignment_expression "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" identifier = (cast_expression "(undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar25 + -0x79f8,1)" ( identifier , number_literal , (binary_expression "iVar25 + -0x79f8" identifier + number_literal) , number_literal ))))) ;)) (if_statement "if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "(((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0))" ( (binary_expression "((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)" (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0))" ( (binary_expression "(puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" identifier = (cast_expression "(undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" ( identifier , number_literal , (subscript_expression "local_b0[4]" identifier [ number_literal ]) , (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar8 + 0x3900,2)" ( identifier , number_literal , (binary_expression "iVar8 + 0x3900" identifier + number_literal) , number_literal ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + local_b0[3] + 3U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 3U" identifier = (binary_expression "uVar6 + local_b0[3] + 3U" (binary_expression "uVar6 + local_b0[3]" identifier + (subscript_expression "local_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" else (compound_statement "{\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" { (expression_statement "iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);" (assignment_expression "iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" identifier = (call_expression "(**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" (parenthesized_expression "(**(code **)(puVar18 + 0x47058))" ( (pointer_expression "**(code **)(puVar18 + 0x47058)" * (pointer_expression "*(code **)(puVar18 + 0x47058)" * (cast_expression "(code **)(puVar18 + 0x47058)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47058)" ( (binary_expression "puVar18 + 0x47058" identifier + number_literal) ))))) )) (argument_list "(local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" ( (binary_expression "local_b0[4] + (local_b0[3] - 7U)" (subscript_expression "local_b0[4]" identifier [ number_literal ]) + (parenthesized_expression "(local_b0[3] - 7U)" ( (binary_expression "local_b0[3] - 7U" (subscript_expression "local_b0[3]" identifier [ number_literal ]) - number_literal) ))) , (binary_expression "iVar7 + 0x15a0" identifier + number_literal) , number_literal )))) ;) (expression_statement "bVar1 = iVar9 == 0;" (assignment_expression "bVar1 = iVar9 == 0" identifier = (binary_expression "iVar9 == 0" identifier == number_literal)) ;) (if_statement "if (local_b8 == 0) goto LAB_0005ffec;" if (parenthesized_expression "(local_b8 == 0)" ( (binary_expression "local_b8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005ffec;" goto statement_identifier ;)) (labeled_statement "LAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);" statement_identifier : (expression_statement "iVar9 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar9 = *(int *)(puVar18 + 0x46658)" identifier = (pointer_expression "*(int *)(puVar18 + 0x46658)" * (cast_expression "(int *)(puVar18 + 0x46658)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x46658)" ( (binary_expression "puVar18 + 0x46658" identifier + number_literal) ))))) ;)) (if_statement "if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }" if (parenthesized_expression "(*(int *)(local_b8 + 4) != 0)" ( (binary_expression "*(int *)(local_b8 + 4) != 0" (pointer_expression "*(int *)(local_b8 + 4)" * (cast_expression "(int *)(local_b8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + 4)" ( (binary_expression "local_b8 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);" do (compound_statement "{\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          }" { (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar25 + -0x79f8,1)" ( identifier , number_literal , (binary_expression "iVar25 + -0x79f8" identifier + number_literal) , number_literal ))))) ;) (if_statement "if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0))" ( (binary_expression "(puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" identifier = (cast_expression "(undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" ( identifier , number_literal , (subscript_expression "local_b0[4]" identifier [ number_literal ]) , (subscript_expression "local_b0[3]" identifier [ number_literal ]) ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar26 + -0x7558,1)" ( identifier , number_literal , (binary_expression "iVar26 + -0x7558" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }" { (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" * identifier) = identifier) ;) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + local_b0[3] + 2U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 2U" identifier = (binary_expression "uVar6 + local_b0[3] + 2U" (binary_expression "uVar6 + local_b0[3]" identifier + (subscript_expression "local_b0[3]" identifier [ number_literal ])) + number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)(local_b8 + iVar21);" (assignment_expression "puVar20 = (undefined4 *)(local_b8 + iVar21)" identifier = (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar16 = (undefined1 *)puVar20[1];" (assignment_expression "puVar16 = (undefined1 *)puVar20[1]" identifier = (cast_expression "(undefined1 *)puVar20[1]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[1]" identifier [ number_literal ]))) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (if_statement "if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }" { (labeled_statement "LAB_0005fdc0:\n                              local_b4 = 0;" statement_identifier : (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;)) (expression_statement "local_b0[0] = 0;" (assignment_expression "local_b0[0] = 0" (subscript_expression "local_b0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" identifier = (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4677c))" ( (pointer_expression "**(code **)(puVar18 + 0x4677c)" * (pointer_expression "*(code **)(puVar18 + 0x4677c)" * (cast_expression "(code **)(puVar18 + 0x4677c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x4677c)" ( (binary_expression "puVar18 + 0x4677c" identifier + number_literal) ))))) )) (argument_list "(iVar29,puVar16,*puVar20,&local_b4,local_b0)" ( identifier , identifier , (pointer_expression "*puVar20" * identifier) , (pointer_expression "&local_b4" & identifier) , identifier ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }" { (expression_statement "(**(code **)(puVar18 + 0x47028))(local_b8);" (call_expression "(**(code **)(puVar18 + 0x47028))(local_b8)" (parenthesized_expression "(**(code **)(puVar18 + 0x47028))" ( (pointer_expression "**(code **)(puVar18 + 0x47028)" * (pointer_expression "*(code **)(puVar18 + 0x47028)" * (cast_expression "(code **)(puVar18 + 0x47028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47028)" ( (binary_expression "puVar18 + 0x47028" identifier + number_literal) ))))) )) (argument_list "(local_b8)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar18 + 0x46fbc))(local_bc,0);" (call_expression "(**(code **)(puVar18 + 0x46fbc))(local_bc,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46fbc))" ( (pointer_expression "**(code **)(puVar18 + 0x46fbc)" * (pointer_expression "*(code **)(puVar18 + 0x46fbc)" * (cast_expression "(code **)(puVar18 + 0x46fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46fbc)" ( (binary_expression "puVar18 + 0x46fbc" identifier + number_literal) ))))) )) (argument_list "(local_bc,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar18 + 0x4725c))(local_c0);" (call_expression "(**(code **)(puVar18 + 0x4725c))(local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4725c))" ( (pointer_expression "**(code **)(puVar18 + 0x4725c)" * (pointer_expression "*(code **)(puVar18 + 0x4725c)" * (cast_expression "(code **)(puVar18 + 0x4725c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x4725c)" ( (binary_expression "puVar18 + 0x4725c" identifier + number_literal) ))))) )) (argument_list "(local_c0)" ( identifier ))) ;) (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" * identifier) = identifier) ;) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" identifier = (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar27 + 0x2cb4,2)" ( identifier , number_literal , (binary_expression "iVar27 + 0x2cb4" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 2;" (assignment_expression "uVar19 = uVar6 + 2" identifier = (binary_expression "uVar6 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (if_statement "if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }" if (parenthesized_expression "(local_b0[0] != 0)" ( (binary_expression "local_b0[0] != 0" (subscript_expression "local_b0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }" { (expression_statement "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);" (assignment_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" identifier = (cast_expression "(undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,local_b4)" ( identifier , number_literal , identifier ))))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }" { (expression_statement "(*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);" (call_expression "(*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4)" (parenthesized_expression "(*(code *)**(undefined4 **)(puVar18 + 0x46608))" ( (pointer_expression "*(code *)**(undefined4 **)(puVar18 + 0x46608)" * (cast_expression "(code *)**(undefined4 **)(puVar18 + 0x46608)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar18 + 0x46608)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x46608)" * (cast_expression "(undefined4 **)(puVar18 + 0x46608)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46608)" ( (binary_expression "puVar18 + 0x46608" identifier + number_literal) ))))))) )) (argument_list "(local_b4)" ( identifier ))) ;) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar29 + 0xb8);" (assignment_expression "iVar17 = *(int *)(iVar29 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = local_b0[0];" (assignment_expression "iVar10 = local_b0[0]" identifier = (subscript_expression "local_b0[0]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0005ff78;" goto statement_identifier ;) })) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;) })) }) (else_clause "else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" else (compound_statement "{\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" { (expression_statement "iVar10 = FUN_00073fc0(*puVar16);" (assignment_expression "iVar10 = FUN_00073fc0(*puVar16)" identifier = (call_expression "FUN_00073fc0(*puVar16)" identifier (argument_list "(*puVar16)" ( (pointer_expression "*puVar16" * identifier) )))) ;) (if_statement "if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }" if (parenthesized_expression "((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0))" ( (binary_expression "(iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)" ( (comma_expression "iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0" (assignment_expression "iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" identifier = (call_expression "FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" identifier (argument_list "(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" ( (pointer_expression "*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" * (cast_expression "(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" ( (binary_expression "((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1" (binary_expression "((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21)" (subscript_expression "((int *)(local_b8 + iVar21))[1]" (parenthesized_expression "((int *)(local_b8 + iVar21))" ( (cast_expression "(int *)(local_b8 + iVar21)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) ))) )) [ number_literal ]) + (pointer_expression "*(int *)(local_b8 + iVar21)" * (cast_expression "(int *)(local_b8 + iVar21)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) ))))) + number_literal) )))) )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }" { (labeled_statement "LAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);" statement_identifier : (expression_statement "puVar20 = (undefined4 *)(local_b8 + iVar21);" (assignment_expression "puVar20 = (undefined4 *)(local_b8 + iVar21)" identifier = (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;)) (expression_statement "puVar16 = (undefined1 *)puVar20[1];" (assignment_expression "puVar16 = (undefined1 *)puVar20[1]" identifier = (cast_expression "(undefined1 *)puVar20[1]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar20[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0005fdc0;" goto statement_identifier ;) })) (expression_statement "puVar11 = (uint *)(local_b8 + iVar21);" (assignment_expression "puVar11 = (uint *)(local_b8 + iVar21)" identifier = (cast_expression "(uint *)(local_b8 + iVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }" if (parenthesized_expression "(*puVar11 != 0)" ( (binary_expression "*puVar11 != 0" (pointer_expression "*puVar11" * identifier) != number_literal) )) (compound_statement "{\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }" { (do_statement "do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);" do (compound_statement "{\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                }" { (expression_statement "iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));" (assignment_expression "iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6))" identifier = (call_expression "FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6))" identifier (argument_list "(*(undefined1 *)(puVar11[1] + uVar6))" ( (pointer_expression "*(undefined1 *)(puVar11[1] + uVar6)" * (cast_expression "(undefined1 *)(puVar11[1] + uVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11[1] + uVar6)" ( (binary_expression "puVar11[1] + uVar6" (subscript_expression "puVar11[1]" identifier [ number_literal ]) + identifier) )))) )))) ;) (if_statement "if (iVar10 == 0) goto LAB_0005ff2c;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0005ff2c;" goto statement_identifier ;)) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "puVar11 = (uint *)(local_b8 + iVar21);" (assignment_expression "puVar11 = (uint *)(local_b8 + iVar21)" identifier = (cast_expression "(uint *)(local_b8 + iVar21)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ;) }) while (parenthesized_expression "(uVar6 < *puVar11)" ( (binary_expression "uVar6 < *puVar11" identifier < (pointer_expression "*puVar11" * identifier)) )) ;) })) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" identifier = (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar9 + 0x3290,1)" ( identifier , number_literal , (binary_expression "iVar9 + 0x3290" identifier + number_literal) , number_literal ))))) ;) (if_statement "if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" if (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0))" ( (binary_expression "(puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)" ( (comma_expression "puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" identifier = (cast_expression "(undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" ( identifier , number_literal , (subscript_expression "((undefined4 *)(local_b8 + iVar21))[1]" (parenthesized_expression "((undefined4 *)(local_b8 + iVar21))" ( (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) ))) )) [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_b8 + iVar21)" * (cast_expression "(undefined4 *)(local_b8 + iVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) ))))) , (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(iVar29 + 0xb8);" (assignment_expression "iVar17 = *(int *)(iVar29 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(local_b8 + iVar21) + 1;" (assignment_expression "iVar10 = *(int *)(local_b8 + iVar21) + 1" identifier = (binary_expression "*(int *)(local_b8 + iVar21) + 1" (pointer_expression "*(int *)(local_b8 + iVar21)" * (cast_expression "(int *)(local_b8 + iVar21)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21)" ( (binary_expression "local_b8 + iVar21" identifier + identifier) )))) + number_literal)) ;) (labeled_statement "LAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;" statement_identifier : (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar6 + iVar10" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = (binary_expression "uVar6 + iVar10" identifier + identifier)) ;)) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar6 + iVar10 < uVar6) + iVar17" (call_expression "(uint)(uVar6 + iVar10 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 + iVar10 < uVar6)" ( (binary_expression "uVar6 + iVar10 < uVar6" (binary_expression "uVar6 + iVar10" identifier + identifier) < identifier) ))) + identifier)) ;) }))) (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" identifier = (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "iVar21 = iVar21 + 8;" (assignment_expression "iVar21 = iVar21 + 8" identifier = (binary_expression "iVar21 + 8" identifier + number_literal)) ;) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(local_b8 + iVar21 + 4);" (assignment_expression "iVar10 = *(int *)(local_b8 + iVar21 + 4)" identifier = (pointer_expression "*(int *)(local_b8 + iVar21 + 4)" * (cast_expression "(int *)(local_b8 + iVar21 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_b8 + iVar21 + 4)" ( (binary_expression "local_b8 + iVar21 + 4" (binary_expression "local_b8 + iVar21" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) })) (expression_statement "(**(code **)(puVar18 + 0x47028))();" (call_expression "(**(code **)(puVar18 + 0x47028))()" (parenthesized_expression "(**(code **)(puVar18 + 0x47028))" ( (pointer_expression "**(code **)(puVar18 + 0x47028)" * (pointer_expression "*(code **)(puVar18 + 0x47028)" * (cast_expression "(code **)(puVar18 + 0x47028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47028)" ( (binary_expression "puVar18 + 0x47028" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" identifier = (cast_expression "(undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0005ff90;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) }))) (expression_statement "iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);" (assignment_expression "iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8)" identifier = (call_expression "(**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8)" (parenthesized_expression "(**(code **)(puVar18 + 0x46f38))" ( (pointer_expression "**(code **)(puVar18 + 0x46f38)" * (pointer_expression "*(code **)(puVar18 + 0x46f38)" * (cast_expression "(code **)(puVar18 + 0x46f38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46f38)" ( (binary_expression "puVar18 + 0x46f38" identifier + number_literal) ))))) )) (argument_list "(*puVar23,iVar2,local_bc,piVar22,&local_b8)" ( (pointer_expression "*puVar23" * identifier) , identifier , identifier , identifier , (pointer_expression "&local_b8" & identifier) )))) ;) }) while (parenthesized_expression "((iVar9 == 0) && (local_b0[4] != 0))" ( (binary_expression "(iVar9 == 0) && (local_b0[4] != 0)" (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_b0[4] != 0)" ( (binary_expression "local_b0[4] != 0" (subscript_expression "local_b0[4]" identifier [ number_literal ]) != number_literal) ))) )) ;) })) (expression_statement "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" identifier = (cast_expression "(undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" ( (pointer_expression "**(code **)(puVar18 + 0x46618)" * (pointer_expression "*(code **)(puVar18 + 0x46618)" * (cast_expression "(code **)(puVar18 + 0x46618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46618)" ( (binary_expression "puVar18 + 0x46618" identifier + number_literal) ))))) )) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" ( identifier , number_literal , (binary_expression "iVar4 + -0x7194" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }" { (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" identifier = (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x46fbc);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x46fbc)" identifier = (pointer_expression "*(code **)(puVar18 + 0x46fbc)" * (cast_expression "(code **)(puVar18 + 0x46fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46fbc)" ( (binary_expression "puVar18 + 0x46fbc" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" * (cast_expression "(uint *)(iVar29 + 0xbc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xbc)" ( (binary_expression "iVar29 + 0xbc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" * (cast_expression "(uint *)(iVar29 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < uVar6)" ( (binary_expression "uVar19 < uVar6" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar29 + 0xb8)" * (cast_expression "(int *)(iVar29 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0xb8)" ( (binary_expression "iVar29 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "(*pcVar28)(local_bc,0);" (call_expression "(*pcVar28)(local_bc,0)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_bc,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" identifier = (pointer_expression "*puVar23" * identifier)) ;) (goto_statement "goto LAB_0005fc30;" goto statement_identifier ;) })) })) })) (labeled_statement "LAB_0005ff90:\n              *local_60 = puVar5;" statement_identifier : (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" * identifier) = identifier) ;)) }))) (goto_statement "goto LAB_0005ff98;" goto statement_identifier ;) })) (labeled_statement "LAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);" statement_identifier : (expression_statement "iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2)" identifier = (call_expression "(**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46ea0))" ( (pointer_expression "**(code **)(puVar18 + 0x46ea0)" * (pointer_expression "*(code **)(puVar18 + 0x46ea0)" * (cast_expression "(code **)(puVar18 + 0x46ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x46ea0)" ( (binary_expression "puVar18 + 0x46ea0" identifier + number_literal) ))))) )) (argument_list "(uVar24,iVar2)" ( identifier , identifier )))) ;)) }) while (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;) (labeled_statement "LAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);" statement_identifier : (expression_statement "(**(code **)(puVar18 + 0x4725c))(local_c0);" (call_expression "(**(code **)(puVar18 + 0x4725c))(local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4725c))" ( (pointer_expression "**(code **)(puVar18 + 0x4725c)" * (pointer_expression "*(code **)(puVar18 + 0x4725c)" * (cast_expression "(code **)(puVar18 + 0x4725c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x4725c)" ( (binary_expression "puVar18 + 0x4725c" identifier + number_literal) ))))) )) (argument_list "(local_c0)" ( identifier ))) ;)) }))) }))) (if_statement "if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }" if (parenthesized_expression "(local_9c != (int *)*puVar3)" ( (binary_expression "local_9c != (int *)*puVar3" identifier != (cast_expression "(int *)*puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) )) (compound_statement "{\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }" { (expression_statement "pcVar28 = *(code **)(puVar18 + 0x47118);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x47118)" identifier = (pointer_expression "*(code **)(puVar18 + 0x47118)" * (cast_expression "(code **)(puVar18 + 0x47118)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x47118)" ( (binary_expression "puVar18 + 0x47118" identifier + number_literal) ))))) ;) (expression_statement "piVar14 = local_9c;" (assignment_expression "piVar14 = local_9c" identifier = identifier) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar22 = *(int **)(iVar2 + 0x154);" (assignment_expression "piVar22 = *(int **)(iVar2 + 0x154)" identifier = (pointer_expression "*(int **)(iVar2 + 0x154)" * (cast_expression "(int **)(iVar2 + 0x154)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x154)" ( (binary_expression "iVar2 + 0x154" identifier + number_literal) ))))) ;) (if_statement "if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }" if (parenthesized_expression "(piVar22 != (int *)0x0)" ( (binary_expression "piVar22 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }" { (if_statement "if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }" if (parenthesized_expression "(*piVar22 != 0)" ( (binary_expression "*piVar22 != 0" (pointer_expression "*piVar22" * identifier) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }" { (expression_statement "(**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);" (call_expression "(**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x46ad4))" ( (pointer_expression "**(code **)(pcVar28 + 0x46ad4)" * (pointer_expression "*(code **)(pcVar28 + 0x46ad4)" * (cast_expression "(code **)(pcVar28 + 0x46ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x46ad4)" ( (binary_expression "pcVar28 + 0x46ad4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar14[300],*piVar22,0,0)" ( (pointer_expression "*(undefined4 *)piVar14[300]" * (cast_expression "(undefined4 *)piVar14[300]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[300]" identifier [ number_literal ]))) , (pointer_expression "*piVar22" * identifier) , number_literal , number_literal ))) ;) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*piVar22 = 0;" (assignment_expression "*piVar22 = 0" (pointer_expression "*piVar22" * identifier) = number_literal) ;) })) (expression_statement "*(undefined4 *)(iVar2 + 0x154) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x154) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x154)" * (cast_expression "(undefined4 *)(iVar2 + 0x154)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x154)" ( (binary_expression "iVar2 + 0x154" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);" (call_expression "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar28 + 0x45d28)" * (cast_expression "(code *)**(undefined4 **)(pcVar28 + 0x45d28)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar28 + 0x45d28)" * (pointer_expression "*(undefined4 **)(pcVar28 + 0x45d28)" * (cast_expression "(undefined4 **)(pcVar28 + 0x45d28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x45d28)" ( (binary_expression "pcVar28 + 0x45d28" identifier + number_literal) ))))))) )) (argument_list "(piVar22)" ( identifier ))) ;) })) (return_statement "return 0;" return number_literal ;) })) (return_statement "return iVar25;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , LIT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression 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 = (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 = (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 ( (pointer_expression * IDENT) , (pointer_expression * IDENT) , LIT , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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 (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) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (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 ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 ( (pointer_expression * IDENT) , IDENT , IDENT , LIT , (binary_expression IDENT + LIT) , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (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 ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (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) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (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) , (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (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 ( 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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) (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 ( (binary_expression (subscript_expression IDENT [ LIT ]) + (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) ))) , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , IDENT , (pointer_expression * IDENT) , (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ))) ;) (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 (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 (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 *)) ) (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 , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) )) [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) + LIT) )))) )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) )) [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))) + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }))) (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 ( (pointer_expression * IDENT) , IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 , LIT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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 )))) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (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 ))) ;)) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (pointer_expression * IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (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 ))) ;) })) (return_statement return LIT ;) })) (return_statement return IDENT ;) })))
(function_definition "int FUN_0005f798(undefined4 *param_1,undefined1 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}" (primitive_type "int") (function_declarator "FUN_0005f798(undefined4 *param_1,undefined1 *param_2)" (identifier "FUN_0005f798") (parameter_list "(undefined4 *param_1,undefined1 *param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  int iVar4;\n  undefined *puVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint *puVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int *piVar14;\n  undefined4 uVar15;\n  undefined1 *puVar16;\n  int iVar17;\n  undefined *puVar18;\n  uint uVar19;\n  undefined4 *puVar20;\n  int *unaff_s1;\n  int iVar21;\n  int *piVar22;\n  undefined4 *puVar23;\n  undefined4 uVar24;\n  int iVar25;\n  int iVar26;\n  int iVar27;\n  code *pcVar28;\n  int iVar29;\n  int local_c0;\n  undefined4 local_bc;\n  int local_b8;\n  undefined4 local_b4;\n  int local_b0 [5];\n  int *local_9c;\n  undefined4 *local_98;\n  int *local_94;\n  undefined4 *local_90;\n  undefined *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined **local_60;\n  undefined *local_40;\n  int local_3c;\n  undefined *local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  undefined4 local_28;\n  int *local_24;\n  \n  puVar5 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;\n  local_40 = (undefined *)0x0;\n  local_34 = 0;\n  local_30 = 1;\n  local_38 = (undefined *)0x0;\n  puVar20 = (undefined4 *)param_1[300];\n  uVar24 = *param_1;\n  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }\nLAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }\n  piVar14 = local_24;\n  puVar18 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);\n  local_8c = puVar5;\n  iVar29 = *piVar14;\n  local_9c = (int *)*puVar3;\n  puVar23 = (undefined4 *)piVar14[300];\n  puVar13 = *(undefined4 **)(iVar29 + 0x154);\n  local_b0[2] = 1;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b0[1] = 0;\n  local_98 = puVar20;\n  local_94 = unaff_s1;\n  local_90 = param_1;\n  local_88 = uVar24;\n  local_84 = param_2;\n  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);\n  if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }\n  if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }\n  return iVar25;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint *puVar11;" (type_identifier "uint") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "undefined4 *puVar20;" (type_identifier "undefined4") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "int *unaff_s1;" (primitive_type "int") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int *piVar22;" (primitive_type "int") (pointer_declarator "*piVar22" (* "*") (identifier "piVar22")) (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined4 uVar24;" (type_identifier "undefined4") (identifier "uVar24") (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "undefined4 local_bc;" (type_identifier "undefined4") (identifier "local_bc") (; ";")) (declaration "int local_b8;" (primitive_type "int") (identifier "local_b8") (; ";")) (declaration "undefined4 local_b4;" (type_identifier "undefined4") (identifier "local_b4") (; ";")) (declaration "int local_b0 [5];" (primitive_type "int") (array_declarator "local_b0 [5]" (identifier "local_b0") ([ "[") (number_literal "5") (] "]")) (; ";")) (declaration "int *local_9c;" (primitive_type "int") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c")) (; ";")) (declaration "undefined4 *local_98;" (type_identifier "undefined4") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "int *local_94;" (primitive_type "int") (pointer_declarator "*local_94" (* "*") (identifier "local_94")) (; ";")) (declaration "undefined4 *local_90;" (type_identifier "undefined4") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "undefined *local_8c;" (type_identifier "undefined") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "undefined4 local_88;" (type_identifier "undefined4") (identifier "local_88") (; ";")) (declaration "undefined1 *local_84;" (type_identifier "undefined1") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "undefined **local_60;" (type_identifier "undefined") (pointer_declarator "**local_60" (* "*") (pointer_declarator "*local_60" (* "*") (identifier "local_60"))) (; ";")) (declaration "undefined *local_40;" (type_identifier "undefined") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined *local_38;" (type_identifier "undefined") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "int *local_24;" (primitive_type "int") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (expression_statement "puVar5 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar5 = PTR___stack_chk_guard_000a6fe0" (identifier "puVar5") (= "=") (identifier "PTR___stack_chk_guard_000a6fe0")) (; ";")) (expression_statement "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(int **)PTR___stack_chk_guard_000a6fe0" (identifier "local_24") (= "=") (pointer_expression "*(int **)PTR___stack_chk_guard_000a6fe0" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_000a6fe0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_000a6fe0")))) (; ";")) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" (identifier "local_40") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 1;" (assignment_expression "local_30 = 1" (identifier "local_30") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_38 = (undefined *)0x0;" (assignment_expression "local_38 = (undefined *)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar20 = (undefined4 *)param_1[300];" (assignment_expression "puVar20 = (undefined4 *)param_1[300]" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)param_1[300]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[300]" (identifier "param_1") ([ "[") (number_literal "300") (] "]")))) (; ";")) (expression_statement "uVar24 = *param_1;" (assignment_expression "uVar24 = *param_1" (identifier "uVar24") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }\n  else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" (if "if") (parenthesized_expression "((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(param_1[0xa1] + 0x44) & 1) == 0" (parenthesized_expression "(*(uint *)(param_1[0xa1] + 0x44) & 1)" (( "(") (binary_expression "*(uint *)(param_1[0xa1] + 0x44) & 1" (pointer_expression "*(uint *)(param_1[0xa1] + 0x44)" (* "*") (cast_expression "(uint *)(param_1[0xa1] + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0xa1] + 0x44)" (( "(") (binary_expression "param_1[0xa1] + 0x44" (subscript_expression "param_1[0xa1]" (identifier "param_1") ([ "[") (number_literal "0xa1") (] "]")) (+ "+") (number_literal "0x44")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }\n    iVar2 = 0x26;\n  }" ({ "{") (labeled_statement "LAB_0005f820:\n    if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" (statement_identifier "LAB_0005f820") (: ":") (if_statement "if (*(char *)((int)puVar20 + 0x16) == '\0') {\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }\n    else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" (if "if") (parenthesized_expression "(*(char *)((int)puVar20 + 0x16) == '\0')" (( "(") (binary_expression "*(char *)((int)puVar20 + 0x16) == '\0'" (pointer_expression "*(char *)((int)puVar20 + 0x16)" (* "*") (cast_expression "(char *)((int)puVar20 + 0x16)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 0x16)" (( "(") (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "0x16")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0005f900:\n      unaff_s1 = &local_2c;\n      uVar15 = 0;\n      if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }\n      local_60 = (undefined **)0x0;\n      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);\n      if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }\n    }" ({ "{") (labeled_statement "LAB_0005f900:\n      unaff_s1 = &local_2c;" (statement_identifier "LAB_0005f900") (: ":") (expression_statement "unaff_s1 = &local_2c;" (assignment_expression "unaff_s1 = &local_2c" (identifier "unaff_s1") (= "=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (; ";"))) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x96) == '\0') {\n        local_28 = 0;\n        local_2c = 0;\n      }\n      else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x96) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x96) == '\0'" (pointer_expression "*(char *)(param_1 + 0x96)" (* "*") (cast_expression "(char *)(param_1 + 0x96)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x96)" (( "(") (binary_expression "param_1 + 0x96" (identifier "param_1") (+ "+") (number_literal "0x96")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_28 = 0;\n        local_2c = 0;\n      }" ({ "{") (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" (else "else") (compound_statement "{\n        local_28 = param_1[0x5d];\n        uVar15 = param_1[0x5c];\n        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);\n      }" ({ "{") (expression_statement "local_28 = param_1[0x5d];" (assignment_expression "local_28 = param_1[0x5d]" (identifier "local_28") (= "=") (subscript_expression "param_1[0x5d]" (identifier "param_1") ([ "[") (number_literal "0x5d") (] "]"))) (; ";")) (expression_statement "uVar15 = param_1[0x5c];" (assignment_expression "uVar15 = param_1[0x5c]" (identifier "uVar15") (= "=") (subscript_expression "param_1[0x5c]" (identifier "param_1") ([ "[") (number_literal "0x5c") (] "]"))) (; ";")) (expression_statement "local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);" (assignment_expression "local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28)" (identifier "local_2c") (= "=") (call_expression "(*(code *)PTR_strlen_000a6ea8)(local_28)" (parenthesized_expression "(*(code *)PTR_strlen_000a6ea8)" (( "(") (pointer_expression "*(code *)PTR_strlen_000a6ea8" (* "*") (cast_expression "(code *)PTR_strlen_000a6ea8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000a6ea8"))) () ")")) (argument_list "(local_28)" (( "(") (identifier "local_28") () ")")))) (; ";")) (} "}")))) (expression_statement "local_60 = (undefined **)0x0;" (assignment_expression "local_60 = (undefined **)0x0" (identifier "local_60") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_sasl_bind_000a6fa8)" (( "(") (pointer_expression "*(code *)PTR_ldap_sasl_bind_000a6fa8" (* "*") (cast_expression "(code *)PTR_ldap_sasl_bind_000a6fa8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_sasl_bind_000a6fa8"))) () ")")) (argument_list "(*puVar20,uVar15,0,unaff_s1)" (( "(") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (, ",") (identifier "uVar15") (, ",") (number_literal "0") (, ",") (identifier "unaff_s1") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined1 *)((int)puVar20 + 0x16) = 1;\n        iVar2 = 0;\n        goto LAB_0005f9a4;\n      }" ({ "{") (expression_statement "*(undefined1 *)((int)puVar20 + 0x16) = 1;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x16) = 1" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x16)" (* "*") (cast_expression "(undefined1 *)((int)puVar20 + 0x16)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 0x16)" (( "(") (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005f9a4;" (goto "goto") (statement_identifier "LAB_0005f9a4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" (else "else") (compound_statement "{\n      local_60 = &local_40;\n      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);\n      if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }\n      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);\n    }" ({ "{") (expression_statement "local_60 = &local_40;" (assignment_expression "local_60 = &local_40" (identifier "local_60") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34)" (parenthesized_expression "(*(code *)PTR_ldap_result_000a6c94)" (( "(") (pointer_expression "*(code *)PTR_ldap_result_000a6c94" (* "*") (cast_expression "(code *)PTR_ldap_result_000a6c94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_result_000a6c94"))) () ")")) (argument_list "(*puVar20,puVar20[4],0,&local_34)" (( "(") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (, ",") (subscript_expression "puVar20[4]" (identifier "puVar20") ([ "[") (number_literal "4") (] "]")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")")))) (; ";")) (if_statement "if (-1 < iVar2) {\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }" (if "if") (parenthesized_expression "(-1 < iVar2)" (( "(") (binary_expression "-1 < iVar2" (number_literal "-1") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n        if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }\n        goto LAB_0005f9f4;\n      }" ({ "{") (if_statement "if (iVar2 != 0) {\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_60 = &local_38;\n          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);\n          if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }\n          if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }\n          if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }\n          goto LAB_0005f9a4;\n        }" ({ "{") (expression_statement "local_60 = &local_38;" (assignment_expression "local_60 = &local_38" (identifier "local_60") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);" (assignment_expression "iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0)" (parenthesized_expression "(*(code *)PTR_ldap_parse_result_000a6d74)" (( "(") (pointer_expression "*(code *)PTR_ldap_parse_result_000a6d74" (* "*") (cast_expression "(code *)PTR_ldap_parse_result_000a6d74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_parse_result_000a6d74"))) () ")")) (argument_list "(*puVar20,local_40,&local_3c,0)" (( "(") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (, ",") (identifier "local_40") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);\n            iVar2 = 0x26;\n            goto LAB_0005f9a4;\n          }" ({ "{") (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" (( "(") (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" (* "*") (cast_expression "(code *)PTR_ldap_err2string_000a6cac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_err2string_000a6cac"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15)" (( "(") (identifier "uVar24") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x14c0" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x14c0")) (, ",") (identifier "uVar15") () ")"))) (; ";")) (expression_statement "iVar2 = 0x26;" (assignment_expression "iVar2 = 0x26" (identifier "iVar2") (= "=") (number_literal "0x26")) (; ";")) (goto_statement "goto LAB_0005f9a4;" (goto "goto") (statement_identifier "LAB_0005f9a4") (; ";")) (} "}"))) (if_statement "if (local_3c == 2) {\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }" (if "if") (parenthesized_expression "(local_3c == 2)" (( "(") (binary_expression "local_3c == 2" (identifier "local_3c") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            unaff_s1 = &local_2c;\n            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);\n            if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }\n          }" ({ "{") (expression_statement "unaff_s1 = &local_2c;" (assignment_expression "unaff_s1 = &local_2c" (identifier "unaff_s1") (= "=") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) (; ";")) (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" (( "(") (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" (* "*") (cast_expression "(code *)PTR_ldap_get_option_000a6abc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_get_option_000a6abc"))) () ")")) (argument_list "(*puVar20,0x11,unaff_s1)" (( "(") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (, ",") (number_literal "0x11") (, ",") (identifier "unaff_s1") () ")"))) (; ";")) (if_statement "if (local_2c == 3) {\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }" (if "if") (parenthesized_expression "(local_2c == 3)" (( "(") (binary_expression "local_2c == 3" (identifier "local_2c") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n              if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }\n              local_2c = 2;\n              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);\n              *(undefined1 *)((int)puVar20 + 0x16) = 0;\n              goto LAB_0005f900;\n            }" ({ "{") (if_statement "if (local_38 != (undefined *)0x0) {\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }" (if "if") (parenthesized_expression "(local_38 != (undefined *)0x0)" (( "(") (binary_expression "local_38 != (undefined *)0x0" (identifier "local_38") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                (*(code *)PTR_ldap_memfree_000a6b54)();\n                local_38 = (undefined *)0x0;\n              }" ({ "{") (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" (( "(") (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" (* "*") (cast_expression "(code *)PTR_ldap_memfree_000a6b54" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_memfree_000a6b54"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_38 = (undefined *)0x0;" (assignment_expression "local_38 = (undefined *)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "local_2c = 2;" (assignment_expression "local_2c = 2" (identifier "local_2c") (= "=") (number_literal "2")) (; ";")) (expression_statement "(*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);" (call_expression "(*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1)" (parenthesized_expression "(*(code *)PTR_ldap_set_option_000a6b70)" (( "(") (pointer_expression "*(code *)PTR_ldap_set_option_000a6b70" (* "*") (cast_expression "(code *)PTR_ldap_set_option_000a6b70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_set_option_000a6b70"))) () ")")) (argument_list "(*puVar20,0x11,unaff_s1)" (( "(") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (, ",") (number_literal "0x11") (, ",") (identifier "unaff_s1") () ")"))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar20 + 0x16) = 0;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x16) = 0" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x16)" (* "*") (cast_expression "(undefined1 *)((int)puVar20 + 0x16)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 0x16)" (( "(") (binary_expression "(int)puVar20 + 0x16" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0005f900;" (goto "goto") (statement_identifier "LAB_0005f900") (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_3c == 0) {\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }\n          else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" (if "if") (parenthesized_expression "(local_3c == 0)" (( "(") (binary_expression "local_3c == 0" (identifier "local_3c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }\n            iVar2 = 0;\n            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;\n            *param_2 = 1;\n          }" ({ "{") (if_statement "if (local_38 != (undefined *)0x0) {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }" (if "if") (parenthesized_expression "(local_38 != (undefined *)0x0)" (( "(") (binary_expression "local_38 != (undefined *)0x0" (identifier "local_38") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n            }" ({ "{") (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" (( "(") (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" (* "*") (cast_expression "(code *)PTR_ldap_memfree_000a6b54" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_memfree_000a6b54"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;" (assignment_expression "param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4" (subscript_expression "param_1[0x6b]" (identifier "param_1") ([ "[") (number_literal "0x6b") (] "]")) (= "=") (binary_expression "PTR_LAB_000a6744 + -0x4c4" (identifier "PTR_LAB_000a6744") (+ "+") (number_literal "-0x4c4"))) (; ";")) (expression_statement "*param_2 = 1;" (assignment_expression "*param_2 = 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" (else "else") (compound_statement "{\n            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);\n            puVar18 = local_38;\n            if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }\n            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);\n            if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }\n          }" ({ "{") (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(0)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" (( "(") (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" (* "*") (cast_expression "(code *)PTR_ldap_err2string_000a6cac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_err2string_000a6cac"))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "puVar18 = local_38;" (assignment_expression "puVar18 = local_38" (identifier "puVar18") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (local_38 == (undefined *)0x0) {\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }" (if "if") (parenthesized_expression "(local_38 == (undefined *)0x0)" (( "(") (binary_expression "local_38 == (undefined *)0x0" (identifier "local_38") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              puVar18 = PTR_UINT_000a6194 + 0x3538;\n            }" ({ "{") (expression_statement "puVar18 = PTR_UINT_000a6194 + 0x3538;" (assignment_expression "puVar18 = PTR_UINT_000a6194 + 0x3538" (identifier "puVar18") (= "=") (binary_expression "PTR_UINT_000a6194 + 0x3538" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x3538"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18)" (( "(") (identifier "uVar24") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x14e8" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x14e8")) (, ",") (identifier "uVar15") (, ",") (identifier "puVar18") () ")"))) (; ";")) (if_statement "if (local_38 == (undefined *)0x0) {\n              iVar2 = 0x43;\n            }\n            else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" (if "if") (parenthesized_expression "(local_38 == (undefined *)0x0)" (( "(") (binary_expression "local_38 == (undefined *)0x0" (identifier "local_38") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar2 = 0x43;\n            }" ({ "{") (expression_statement "iVar2 = 0x43;" (assignment_expression "iVar2 = 0x43" (identifier "iVar2") (= "=") (number_literal "0x43")) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" (else "else") (compound_statement "{\n              (*(code *)PTR_ldap_memfree_000a6b54)();\n              iVar2 = 0x43;\n            }" ({ "{") (expression_statement "(*(code *)PTR_ldap_memfree_000a6b54)();" (call_expression "(*(code *)PTR_ldap_memfree_000a6b54)()" (parenthesized_expression "(*(code *)PTR_ldap_memfree_000a6b54)" (( "(") (pointer_expression "*(code *)PTR_ldap_memfree_000a6b54" (* "*") (cast_expression "(code *)PTR_ldap_memfree_000a6b54" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_memfree_000a6b54"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar2 = 0x43;" (assignment_expression "iVar2 = 0x43" (identifier "iVar2") (= "=") (number_literal "0x43")) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_0005f9a4;" (goto "goto") (statement_identifier "LAB_0005f9a4") (; ";")) (} "}"))) (goto_statement "goto LAB_0005f9f4;" (goto "goto") (statement_identifier "LAB_0005f9f4") (; ";")) (} "}"))) (expression_statement "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);" (assignment_expression "uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (identifier "uVar15") (= "=") (call_expression "(*(code *)PTR_ldap_err2string_000a6cac)(iVar2)" (parenthesized_expression "(*(code *)PTR_ldap_err2string_000a6cac)" (( "(") (pointer_expression "*(code *)PTR_ldap_err2string_000a6cac" (* "*") (cast_expression "(code *)PTR_ldap_err2string_000a6cac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_err2string_000a6cac"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);" (call_expression "(*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15)" (parenthesized_expression "(*(code *)PTR_FUN_000a614c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a614c" (* "*") (cast_expression "(code *)PTR_FUN_000a614c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a614c"))) () ")")) (argument_list "(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15)" (( "(") (identifier "uVar24") (, ",") (binary_expression "PTR_UINT_000a6194 + 0x14a0" (identifier "PTR_UINT_000a6194") (+ "+") (number_literal "0x14a0")) (, ",") (identifier "uVar15") () ")"))) (; ";")) (} "}"))))) (expression_statement "iVar2 = 0x26;" (assignment_expression "iVar2 = 0x26" (identifier "iVar2") (= "=") (number_literal "0x26")) (; ";")) (} "}")) (else_clause "else {\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" (else "else") (compound_statement "{\n    if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }\n    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);\n    if (iVar2 != 0) goto LAB_0005f9a4;\n    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;\nLAB_0005f9f4:\n    iVar2 = 0;\n  }" ({ "{") (if_statement "if (*(char *)(puVar20 + 5) != '\0') {\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }" (if "if") (parenthesized_expression "(*(char *)(puVar20 + 5) != '\0')" (( "(") (binary_expression "*(char *)(puVar20 + 5) != '\0'" (pointer_expression "*(char *)(puVar20 + 5)" (* "*") (cast_expression "(char *)(puVar20 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 5)" (( "(") (binary_expression "puVar20 + 5" (identifier "puVar20") (+ "+") (number_literal "5")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }\n      goto LAB_0005f820;\n    }" ({ "{") (labeled_statement "LAB_0005f814:\n      if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" (statement_identifier "LAB_0005f814") (: ":") (if_statement "if (*(char *)((int)puVar20 + 0x15) == '\0') {\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" (if "if") (parenthesized_expression "(*(char *)((int)puVar20 + 0x15) == '\0')" (( "(") (binary_expression "*(char *)((int)puVar20 + 0x15) == '\0'" (pointer_expression "*(char *)((int)puVar20 + 0x15)" (* "*") (cast_expression "(char *)((int)puVar20 + 0x15)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 0x15)" (( "(") (binary_expression "(int)puVar20 + 0x15" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "0x15")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);\n        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);\n        uVar12 = param_1[0x6b];\n        uVar15 = param_1[0x6d];\n        *(undefined1 *)((int)puVar20 + 0x15) = 1;\n        puVar20[1] = uVar12;\n        puVar20[2] = uVar15;\n      }" ({ "{") (expression_statement "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);" (call_expression "(*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c)" (parenthesized_expression "(*(code *)PTR_ldap_get_option_000a6abc)" (( "(") (pointer_expression "*(code *)PTR_ldap_get_option_000a6abc" (* "*") (cast_expression "(code *)PTR_ldap_get_option_000a6abc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ldap_get_option_000a6abc"))) () ")")) (argument_list "(*puVar20,0x5008,&local_2c)" (( "(") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (, ",") (number_literal "0x5008") (, ",") (pointer_expression "&local_2c" (& "&") (identifier "local_2c")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);" (call_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1)" (parenthesized_expression "(*(code *)PTR_ber_sockbuf_add_io_000a6c64)" (( "(") (pointer_expression "*(code *)PTR_ber_sockbuf_add_io_000a6c64" (* "*") (cast_expression "(code *)PTR_ber_sockbuf_add_io_000a6c64" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ber_sockbuf_add_io_000a6c64"))) () ")")) (argument_list "(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1)" (( "(") (identifier "local_2c") (, ",") (binary_expression "PTR_DAT_000a612c + 0x60b0" (identifier "PTR_DAT_000a612c") (+ "+") (number_literal "0x60b0")) (, ",") (number_literal "0x14") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "uVar12 = param_1[0x6b];" (assignment_expression "uVar12 = param_1[0x6b]" (identifier "uVar12") (= "=") (subscript_expression "param_1[0x6b]" (identifier "param_1") ([ "[") (number_literal "0x6b") (] "]"))) (; ";")) (expression_statement "uVar15 = param_1[0x6d];" (assignment_expression "uVar15 = param_1[0x6d]" (identifier "uVar15") (= "=") (subscript_expression "param_1[0x6d]" (identifier "param_1") ([ "[") (number_literal "0x6d") (] "]"))) (; ";")) (expression_statement "*(undefined1 *)((int)puVar20 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)puVar20 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)puVar20 + 0x15)" (* "*") (cast_expression "(undefined1 *)((int)puVar20 + 0x15)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + 0x15)" (( "(") (binary_expression "(int)puVar20 + 0x15" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "0x15")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar20[1] = uVar12;" (assignment_expression "puVar20[1] = uVar12" (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "puVar20[2] = uVar15;" (assignment_expression "puVar20[2] = uVar15" (subscript_expression "puVar20[2]" (identifier "puVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (} "}")))) (goto_statement "goto LAB_0005f820;" (goto "goto") (statement_identifier "LAB_0005f820") (; ";")) (} "}"))) (expression_statement "iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);" (assignment_expression "iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5)" (parenthesized_expression "(*(code *)PTR_FUN_000a6288)" (( "(") (pointer_expression "*(code *)PTR_FUN_000a6288" (* "*") (cast_expression "(code *)PTR_FUN_000a6288" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000a6288"))) () ")")) (argument_list "(param_1,0,puVar20 + 5)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (binary_expression "puVar20 + 5" (identifier "puVar20") (+ "+") (number_literal "5")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0005f9a4;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005f9a4;" (goto "goto") (statement_identifier "LAB_0005f9a4") (; ";"))) (if_statement "if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;" (if "if") (parenthesized_expression "(*(char *)(puVar20 + 5) != '\0')" (( "(") (binary_expression "*(char *)(puVar20 + 5) != '\0'" (pointer_expression "*(char *)(puVar20 + 5)" (* "*") (cast_expression "(char *)(puVar20 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 5)" (( "(") (binary_expression "puVar20 + 5" (identifier "puVar20") (+ "+") (number_literal "5")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0005f814;" (goto "goto") (statement_identifier "LAB_0005f814") (; ";"))) (labeled_statement "LAB_0005f9f4:\n    iVar2 = 0;" (statement_identifier "LAB_0005f9f4") (: ":") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (labeled_statement "LAB_0005f9a4:\n  if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }" (statement_identifier "LAB_0005f9a4") (: ":") (if_statement "if (local_24 == *(int **)puVar5) {\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(local_24 == *(int **)puVar5)" (( "(") (binary_expression "local_24 == *(int **)puVar5" (identifier "local_24") (== "==") (pointer_expression "*(int **)puVar5" (* "*") (cast_expression "(int **)puVar5" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) () ")")) (compound_statement "{\n    return iVar2;\n  }" ({ "{") (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))) (expression_statement "piVar14 = local_24;" (assignment_expression "piVar14 = local_24" (identifier "piVar14") (= "=") (identifier "local_24")) (; ";")) (expression_statement "puVar18 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar18 = PTR___stack_chk_fail_000a6c54" (identifier "puVar18") (= "=") (identifier "PTR___stack_chk_fail_000a6c54")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000a6c54"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(puVar18 + 0x474a4);" (assignment_expression "puVar3 = *(undefined4 **)(puVar18 + 0x474a4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(puVar18 + 0x474a4)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x474a4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x474a4)" (( "(") (binary_expression "puVar18 + 0x474a4" (identifier "puVar18") (+ "+") (number_literal "0x474a4")) () ")"))))) (; ";")) (expression_statement "local_8c = puVar5;" (assignment_expression "local_8c = puVar5" (identifier "local_8c") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "iVar29 = *piVar14;" (assignment_expression "iVar29 = *piVar14" (identifier "iVar29") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "local_9c = (int *)*puVar3;" (assignment_expression "local_9c = (int *)*puVar3" (identifier "local_9c") (= "=") (cast_expression "(int *)*puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (expression_statement "puVar23 = (undefined4 *)piVar14[300];" (assignment_expression "puVar23 = (undefined4 *)piVar14[300]" (identifier "puVar23") (= "=") (cast_expression "(undefined4 *)piVar14[300]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar14[300]" (identifier "piVar14") ([ "[") (number_literal "300") (] "]")))) (; ";")) (expression_statement "puVar13 = *(undefined4 **)(iVar29 + 0x154);" (assignment_expression "puVar13 = *(undefined4 **)(iVar29 + 0x154)" (identifier "puVar13") (= "=") (pointer_expression "*(undefined4 **)(iVar29 + 0x154)" (* "*") (cast_expression "(undefined4 **)(iVar29 + 0x154)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar29 + 0x154)" (( "(") (binary_expression "iVar29 + 0x154" (identifier "iVar29") (+ "+") (number_literal "0x154")) () ")"))))) (; ";")) (expression_statement "local_b0[2] = 1;" (assignment_expression "local_b0[2] = 1" (subscript_expression "local_b0[2]" (identifier "local_b0") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" (identifier "local_bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b0[1] = 0;" (assignment_expression "local_b0[1] = 0" (subscript_expression "local_b0[1]" (identifier "local_b0") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = puVar20;" (assignment_expression "local_98 = puVar20" (identifier "local_98") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "local_94 = unaff_s1;" (assignment_expression "local_94 = unaff_s1" (identifier "local_94") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "local_90 = param_1;" (assignment_expression "local_90 = param_1" (identifier "local_90") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_88 = uVar24;" (assignment_expression "local_88 = uVar24" (identifier "local_88") (= "=") (identifier "uVar24")) (; ";")) (expression_statement "local_84 = param_2;" (assignment_expression "local_84 = param_2" (identifier "local_84") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47158))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47158)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47158)" (* "*") (cast_expression "(code **)(puVar18 + 0x47158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47158)" (( "(") (binary_expression "puVar18 + 0x47158" (identifier "puVar18") (+ "+") (number_literal "0x47158")) () ")"))))) () ")")) (argument_list "(*puVar23,*puVar13,2,local_b0 + 1,&local_c0)" (( "(") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (, ",") (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (, ",") (number_literal "2") (, ",") (binary_expression "local_b0 + 1" (identifier "local_b0") (+ "+") (number_literal "1")) (, ",") (pointer_expression "&local_c0" (& "&") (identifier "local_c0")) () ")")))) (; ";")) (if_statement "if (iVar2 < 0) {\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }\n  else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar25 = -1;\n    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);\n    *local_60 = (undefined *)0x38;\n  }" ({ "{") (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" (identifier "iVar25") (= "=") (number_literal "-1")) (; ";")) (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(puVar18 + 0x47170))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47170)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47170)" (* "*") (cast_expression "(code **)(puVar18 + 0x47170)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47170)" (( "(") (binary_expression "puVar18 + 0x47170" (identifier "puVar18") (+ "+") (number_literal "0x47170")) () ")"))))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);" (call_expression "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46610)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46610)" (* "*") (cast_expression "(code **)(puVar18 + 0x46610)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46610)" (( "(") (binary_expression "puVar18 + 0x46610" (identifier "puVar18") (+ "+") (number_literal "0x46610")) () ")"))))) () ")")) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24)" (( "(") (identifier "iVar29") (, ",") (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1508" (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")")))) (+ "+") (number_literal "0x1508")) (, ",") (identifier "uVar24") () ")"))) (; ";")) (expression_statement "*local_60 = (undefined *)0x38;" (assignment_expression "*local_60 = (undefined *)0x38" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (cast_expression "(undefined *)0x38" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x38"))) (; ";")) (} "}")) (else_clause "else {\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" (else "else") (compound_statement "{\n    *local_60 = (undefined *)0x51;\n    if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }\n  }" ({ "{") (expression_statement "*local_60 = (undefined *)0x51;" (assignment_expression "*local_60 = (undefined *)0x51" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (cast_expression "(undefined *)0x51" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x51"))) (; ";")) (if_statement "if (local_c0 == 0) {\nLAB_0005ff98:\n      iVar25 = -1;\n    }\n    else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" (if "if") (parenthesized_expression "(local_c0 == 0)" (( "(") (binary_expression "local_c0 == 0" (identifier "local_c0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0005ff98:\n      iVar25 = -1;\n    }" ({ "{") (labeled_statement "LAB_0005ff98:\n      iVar25 = -1;" (statement_identifier "LAB_0005ff98") (: ":") (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" (identifier "iVar25") (= "=") (number_literal "-1")) (; ";"))) (} "}")) (else_clause "else {\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" (else "else") (compound_statement "{\n      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);\n      if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }\n      iVar25 = -1;\nLAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);\n    }" ({ "{") (expression_statement "iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar18 + 0x46dd8))(*puVar23)" (parenthesized_expression "(**(code **)(puVar18 + 0x46dd8))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46dd8)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46dd8)" (* "*") (cast_expression "(code **)(puVar18 + 0x46dd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46dd8)" (( "(") (binary_expression "puVar18 + 0x46dd8" (identifier "puVar18") (+ "+") (number_literal "0x46dd8")) () ")"))))) () ")")) (argument_list "(*puVar23)" (( "(") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar26 = *(int *)(puVar18 + 0x46658);\n        iVar27 = *(int *)(puVar18 + 0x46658);\n        iVar25 = *(int *)(puVar18 + 0x46658);\n        do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);\n      }" ({ "{") (expression_statement "iVar26 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar26 = *(int *)(puVar18 + 0x46658)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")"))))) (; ";")) (expression_statement "iVar27 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar27 = *(int *)(puVar18 + 0x46658)" (identifier "iVar27") (= "=") (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")"))))) (; ";")) (expression_statement "iVar25 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar25 = *(int *)(puVar18 + 0x46658)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")"))))) (; ";")) (do_statement "do {\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        } while (iVar2 != 0);" (do "do") (compound_statement "{\n          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);\n          if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }\n          uVar24 = *puVar23;\n          if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }\nLAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);\n        }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);" (assignment_expression "iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar18 + 0x47068))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47068))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47068)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47068)" (* "*") (cast_expression "(code **)(puVar18 + 0x47068)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47068)" (( "(") (binary_expression "puVar18 + 0x47068" (identifier "puVar18") (+ "+") (number_literal "0x47068")) () ")"))))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (if_statement "if (iVar4 == 0x65) {\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0x65)" (( "(") (binary_expression "iVar4 == 0x65" (identifier "iVar4") (== "==") (number_literal "0x65")) () ")")) (compound_statement "{\n            local_b0[3] = 0;\n            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);\n            if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }\n            pcVar28 = *(code **)(puVar18 + 0x47018);\n            *puVar13 = 0;\n            (*pcVar28)(local_b0[3]);\n            goto LAB_0006023c;\n          }" ({ "{") (expression_statement "local_b0[3] = 0;" (assignment_expression "local_b0[3] = 0" (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47238))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47238)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47238)" (* "*") (cast_expression "(code **)(puVar18 + 0x47238)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47238)" (( "(") (binary_expression "puVar18 + 0x47238" (identifier "puVar18") (+ "+") (number_literal "0x47238")) () ")"))))) () ")")) (argument_list "(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0)" (( "(") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (, ",") (identifier "iVar2") (, ",") (identifier "local_b0") (, ",") (number_literal "0") (, ",") (binary_expression "local_b0 + 3" (identifier "local_b0") (+ "+") (number_literal "3")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }\n            else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }\n              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);\n              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);\n              *local_60 = (undefined *)0x0;\n              iVar25 = 0;\n            }" ({ "{") (if_statement "if (local_b0[0] != 0) {\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }" (if "if") (parenthesized_expression "(local_b0[0] != 0)" (( "(") (binary_expression "local_b0[0] != 0" (subscript_expression "local_b0[0]" (identifier "local_b0") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }\n                (**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);\n              }" ({ "{") (if_statement "if (local_b0[0] != 4) {\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }" (if "if") (parenthesized_expression "(local_b0[0] != 4)" (( "(") (binary_expression "local_b0[0] != 4" (subscript_expression "local_b0[0]" (identifier "local_b0") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);\n                  uVar6 = local_b0[3];\n                  if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }\n                  (**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);\n                  goto LAB_00060368;\n                }" ({ "{") (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(0);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(0)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(puVar18 + 0x47170))(0)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47170)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47170)" (* "*") (cast_expression "(code **)(puVar18 + 0x47170)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47170)" (( "(") (binary_expression "puVar18 + 0x47170" (identifier "puVar18") (+ "+") (number_literal "0x47170")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar6 = local_b0[3];" (assignment_expression "uVar6 = local_b0[3]" (identifier "uVar6") (= "=") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (local_b0[3] == 0) {\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }" (if "if") (parenthesized_expression "(local_b0[3] == 0)" (( "(") (binary_expression "local_b0[3] == 0" (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;\n                  }" ({ "{") (expression_statement "uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;" (assignment_expression "uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538" (identifier "uVar6") (= "=") (binary_expression "*(int *)(puVar18 + 0x46658) + 0x3538" (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")")))) (+ "+") (number_literal "0x3538"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);" (call_expression "(**(code **)(puVar18 + 0x46610))\n                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46610)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46610)" (* "*") (cast_expression "(code **)(puVar18 + 0x46610)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46610)" (( "(") (binary_expression "puVar18 + 0x46610" (identifier "puVar18") (+ "+") (number_literal "0x46610")) () ")"))))) () ")")) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6)" (( "(") (identifier "iVar29") (, ",") (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1554" (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")")))) (+ "+") (number_literal "0x1554")) (, ",") (identifier "uVar24") (, ",") (identifier "uVar6") () ")"))) (; ";")) (goto_statement "goto LAB_00060368;" (goto "goto") (statement_identifier "LAB_00060368") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);" (call_expression "(**(code **)(puVar18 + 0x46670))\n                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1])" (parenthesized_expression "(**(code **)(puVar18 + 0x46670))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46670)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46670)" (* "*") (cast_expression "(code **)(puVar18 + 0x46670)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46670)" (( "(") (binary_expression "puVar18 + 0x46670" (identifier "puVar18") (+ "+") (number_literal "0x46670")) () ")"))))) () ")")) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1])" (( "(") (identifier "iVar29") (, ",") (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1578" (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")")))) (+ "+") (number_literal "0x1578")) (, ",") (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);" (assignment_expression "*(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc)" (pointer_expression "*(undefined4 *)(iVar29 + 0x9c)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0x9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x9c)" (( "(") (binary_expression "iVar29 + 0x9c" (identifier "iVar29") (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar29 + 0xbc)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0xbc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);" (assignment_expression "*(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8)" (pointer_expression "*(undefined4 *)(iVar29 + 0x98)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0x98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0x98)" (( "(") (binary_expression "iVar29 + 0x98" (identifier "iVar29") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar29 + 0xb8)" (* "*") (cast_expression "(undefined4 *)(iVar29 + 0xb8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (expression_statement "*local_60 = (undefined *)0x0;" (assignment_expression "*local_60 = (undefined *)0x0" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" (identifier "iVar25") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" (else "else") (compound_statement "{\n              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);\n              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);\nLAB_00060368:\n              iVar25 = -1;\n              *local_60 = (undefined *)0x27;\n            }" ({ "{") (expression_statement "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);" (assignment_expression "uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(puVar18 + 0x47170))(iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x47170))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47170)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47170)" (* "*") (cast_expression "(code **)(puVar18 + 0x47170)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47170)" (( "(") (binary_expression "puVar18 + 0x47170" (identifier "puVar18") (+ "+") (number_literal "0x47170")) () ")"))))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);" (call_expression "(**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24)" (parenthesized_expression "(**(code **)(puVar18 + 0x46610))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46610)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46610)" (* "*") (cast_expression "(code **)(puVar18 + 0x46610)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46610)" (( "(") (binary_expression "puVar18 + 0x46610" (identifier "puVar18") (+ "+") (number_literal "0x46610")) () ")"))))) () ")")) (argument_list "(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24)" (( "(") (identifier "iVar29") (, ",") (binary_expression "*(int *)(puVar18 + 0x46658) + 0x152c" (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")")))) (+ "+") (number_literal "0x152c")) (, ",") (identifier "uVar24") () ")"))) (; ";")) (labeled_statement "LAB_00060368:\n              iVar25 = -1;" (statement_identifier "LAB_00060368") (: ":") (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" (identifier "iVar25") (= "=") (number_literal "-1")) (; ";"))) (expression_statement "*local_60 = (undefined *)0x27;" (assignment_expression "*local_60 = (undefined *)0x27" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (cast_expression "(undefined *)0x27" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x27"))) (; ";")) (} "}")))) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x47018);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x47018)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar18 + 0x47018)" (* "*") (cast_expression "(code **)(puVar18 + 0x47018)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47018)" (( "(") (binary_expression "puVar18 + 0x47018" (identifier "puVar18") (+ "+") (number_literal "0x47018")) () ")"))))) (; ";")) (expression_statement "*puVar13 = 0;" (assignment_expression "*puVar13 = 0" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*pcVar28)(local_b0[3]);" (call_expression "(*pcVar28)(local_b0[3])" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(local_b0[3])" (( "(") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (goto_statement "goto LAB_0006023c;" (goto "goto") (statement_identifier "LAB_0006023c") (; ";")) (} "}"))) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" (identifier "uVar24") (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (if_statement "if (iVar4 == 100) {\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }" (if "if") (parenthesized_expression "(iVar4 == 100)" (( "(") (binary_expression "iVar4 == 100" (identifier "iVar4") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n            piVar22 = local_b0 + 3;\n            pcVar28 = *(code **)(puVar18 + 0x472b8);\n            puVar13[1] = puVar13[1] + 1;\n            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);\n            if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }\n            goto LAB_0005ff98;\n          }" ({ "{") (expression_statement "piVar22 = local_b0 + 3;" (assignment_expression "piVar22 = local_b0 + 3" (identifier "piVar22") (= "=") (binary_expression "local_b0 + 3" (identifier "local_b0") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x472b8);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x472b8)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar18 + 0x472b8)" (* "*") (cast_expression "(code **)(puVar18 + 0x472b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x472b8)" (( "(") (binary_expression "puVar18 + 0x472b8" (identifier "puVar18") (+ "+") (number_literal "0x472b8")) () ")"))))) (; ";")) (expression_statement "puVar13[1] = puVar13[1] + 1;" (assignment_expression "puVar13[1] = puVar13[1] + 1" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar13[1] + 1" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);" (assignment_expression "iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22)" (identifier "iVar4") (= "=") (call_expression "(*pcVar28)(uVar24,iVar2,&local_bc,piVar22)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(uVar24,iVar2,&local_bc,piVar22)" (( "(") (identifier "uVar24") (, ",") (identifier "iVar2") (, ",") (pointer_expression "&local_bc" (& "&") (identifier "local_bc")) (, ",") (identifier "piVar22") () ")")))) (; ";")) (if_statement "if (iVar4 < 0) {\n              *local_60 = (undefined *)0x38;\n            }\n            else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              *local_60 = (undefined *)0x38;\n            }" ({ "{") (expression_statement "*local_60 = (undefined *)0x38;" (assignment_expression "*local_60 = (undefined *)0x38" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (cast_expression "(undefined *)0x38" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x38"))) (; ";")) (} "}")) (else_clause "else {\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" (else "else") (compound_statement "{\n              puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);\n              if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }\nLAB_0005ff90:\n              *local_60 = puVar5;\n            }" ({ "{") (expression_statement "puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);" (assignment_expression "puVar5 = (undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                       (**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))\n                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "*(int *)(puVar18 + 0x46658) + 0x1598" (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")")))) (+ "+") (number_literal "0x1598")) (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if ((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)) {\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "((puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0))" (( "(") (binary_expression "(puVar5 == (undefined *)0x0) &&\n                 (puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)" (parenthesized_expression "(puVar5 == (undefined *)0x0)" (( "(") (binary_expression "puVar5 == (undefined *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0)" (( "(") (comma_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),\n                 puVar5 == (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (subscript_expression "local_b0[4]" (identifier "local_b0") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]")) () ")"))))) (, ",") (binary_expression "puVar5 == (undefined *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n                iVar4 = *(int *)(puVar18 + 0x46658);\n                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);\n                if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar4 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar4 = *(int *)(puVar18 + 0x46658)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")"))))) (; ";")) (expression_statement "puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);" (assignment_expression "puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar4 + -0x7194,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar4 + -0x7194" (identifier "iVar4") (+ "+") (number_literal "-0x7194")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (puVar5 == (undefined *)0x0) {\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }" (if "if") (parenthesized_expression "(puVar5 == (undefined *)0x0)" (( "(") (binary_expression "puVar5 == (undefined *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                  uVar24 = *puVar23;\n                  pcVar28 = *(code **)(puVar18 + 0x46f38);\n                  uVar19 = uVar6 + local_b0[3] + 5U;\n                  *(uint *)(iVar29 + 0xbc) = uVar19;\n                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);\n                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }\n                  puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                  if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }\n                }" ({ "{") (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" (identifier "uVar24") (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x46f38);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x46f38)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar18 + 0x46f38)" (* "*") (cast_expression "(code **)(puVar18 + 0x46f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46f38)" (( "(") (binary_expression "puVar18 + 0x46f38" (identifier "puVar18") (+ "+") (number_literal "0x46f38")) () ")"))))) (; ";")) (expression_statement "uVar19 = uVar6 + local_b0[3] + 5U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 5U" (identifier "uVar19") (= "=") (binary_expression "uVar6 + local_b0[3] + 5U" (binary_expression "uVar6 + local_b0[3]" (identifier "uVar6") (+ "+") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "5U"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < uVar6)" (( "(") (binary_expression "uVar19 < uVar6" (identifier "uVar19") (< "<") (identifier "uVar6")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (expression_statement "iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);" (assignment_expression "iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8)" (identifier "iVar7") (= "=") (call_expression "(*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(uVar24,iVar2,local_bc,piVar22,&local_b8)" (( "(") (identifier "uVar24") (, ",") (identifier "iVar2") (, ",") (identifier "local_bc") (, ",") (identifier "piVar22") (, ",") (pointer_expression "&local_b8" (& "&") (identifier "local_b8")) () ")")))) (; ";")) (if_statement "if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }" (if "if") (parenthesized_expression "((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0))" (( "(") (binary_expression "(iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)" (( "(") (comma_expression "iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0" (assignment_expression "iVar7 = *(int *)(puVar18 + 0x46658)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")"))))) (, ",") (binary_expression "local_b0[4] != 0" (subscript_expression "local_b0[4]" (identifier "local_b0") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    iVar8 = *(int *)(puVar18 + 0x46658);\n                    do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));\n                  }" ({ "{") (expression_statement "iVar8 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar8 = *(int *)(puVar18 + 0x46658)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")"))))) (; ";")) (do_statement "do {\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    } while ((iVar9 == 0) && (local_b0[4] != 0));" (do "do") (compound_statement "{\n                      if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);\n                    }" ({ "{") (if_statement "if ((uint)local_b0[3] < 8) {\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }\n                      else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" (if "if") (parenthesized_expression "((uint)local_b0[3] < 8)" (( "(") (binary_expression "(uint)local_b0[3] < 8" (cast_expression "(uint)local_b0[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]"))) (< "<") (number_literal "8")) () ")")) (compound_statement "{\n                        bVar1 = false;\n                        if (local_b8 != 0) goto LAB_0005fda8;\nLAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                        if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + local_b0[3] + 3U;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" ({ "{") (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (if_statement "if (local_b8 != 0) goto LAB_0005fda8;" (if "if") (parenthesized_expression "(local_b8 != 0)" (( "(") (binary_expression "local_b8 != 0" (identifier "local_b8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005fda8;" (goto "goto") (statement_identifier "LAB_0005fda8") (; ";"))) (labeled_statement "LAB_0005ffec:\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" (statement_identifier "LAB_0005ffec") (: ":") (expression_statement "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" (assignment_expression "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar25 + -0x79f8,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar25 + -0x79f8" (identifier "iVar25") (+ "+") (number_literal "-0x79f8")) (, ",") (number_literal "1") () ")"))))) (; ";"))) (if_statement "if (((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" (if "if") (parenthesized_expression "(((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0))" (( "(") (binary_expression "((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)) ||\n                           (puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)" (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0))" (( "(") (binary_expression "(puVar5 != (undefined *)0x0) ||\n                            (puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0)" (( "(") (comma_expression "puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3]),\n                            puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                      (**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                (piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (subscript_expression "local_b0[4]" (identifier "local_b0") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]")) () ")"))))) (, ",") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0)" (( "(") (comma_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),\n                           puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar8 + 0x3900,2)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar8 + 0x3900" (identifier "iVar8") (+ "+") (number_literal "0x3900")) (, ",") (number_literal "2") () ")"))))) (, ",") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0005ff90;" (goto "goto") (statement_identifier "LAB_0005ff90") (; ";"))) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "uVar19 = uVar6 + local_b0[3] + 3U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 3U" (identifier "uVar19") (= "=") (binary_expression "uVar6 + local_b0[3] + 3U" (binary_expression "uVar6 + local_b0[3]" (identifier "uVar6") (+ "+") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "3U"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < uVar6)" (( "(") (binary_expression "uVar19 < uVar6" (identifier "uVar19") (< "<") (identifier "uVar6")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" (else "else") (compound_statement "{\n                        iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);\n                        bVar1 = iVar9 == 0;\n                        if (local_b8 == 0) goto LAB_0005ffec;\nLAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);\n                        if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }\n                        (**(code **)(puVar18 + 0x47028))();\n                        puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                        uVar6 = *(uint *)(iVar29 + 0xbc);\n                        uVar19 = uVar6 + 1;\n                        *(uint *)(iVar29 + 0xbc) = uVar19;\n                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                      }" ({ "{") (expression_statement "iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);" (assignment_expression "iVar9 = (**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x47058))\n                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" (parenthesized_expression "(**(code **)(puVar18 + 0x47058))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47058)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47058)" (* "*") (cast_expression "(code **)(puVar18 + 0x47058)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47058)" (( "(") (binary_expression "puVar18 + 0x47058" (identifier "puVar18") (+ "+") (number_literal "0x47058")) () ")"))))) () ")")) (argument_list "(local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7)" (( "(") (binary_expression "local_b0[4] + (local_b0[3] - 7U)" (subscript_expression "local_b0[4]" (identifier "local_b0") ([ "[") (number_literal "4") (] "]")) (+ "+") (parenthesized_expression "(local_b0[3] - 7U)" (( "(") (binary_expression "local_b0[3] - 7U" (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]")) (- "-") (number_literal "7U")) () ")"))) (, ",") (binary_expression "iVar7 + 0x15a0" (identifier "iVar7") (+ "+") (number_literal "0x15a0")) (, ",") (number_literal "7") () ")")))) (; ";")) (expression_statement "bVar1 = iVar9 == 0;" (assignment_expression "bVar1 = iVar9 == 0" (identifier "bVar1") (= "=") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (local_b8 == 0) goto LAB_0005ffec;" (if "if") (parenthesized_expression "(local_b8 == 0)" (( "(") (binary_expression "local_b8 == 0" (identifier "local_b8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005ffec;" (goto "goto") (statement_identifier "LAB_0005ffec") (; ";"))) (labeled_statement "LAB_0005fda8:\n                        iVar9 = *(int *)(puVar18 + 0x46658);" (statement_identifier "LAB_0005fda8") (: ":") (expression_statement "iVar9 = *(int *)(puVar18 + 0x46658);" (assignment_expression "iVar9 = *(int *)(puVar18 + 0x46658)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar18 + 0x46658)" (* "*") (cast_expression "(int *)(puVar18 + 0x46658)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x46658)" (( "(") (binary_expression "puVar18 + 0x46658" (identifier "puVar18") (+ "+") (number_literal "0x46658")) () ")"))))) (; ";"))) (if_statement "if (*(int *)(local_b8 + 4) != 0) {\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }" (if "if") (parenthesized_expression "(*(int *)(local_b8 + 4) != 0)" (( "(") (binary_expression "*(int *)(local_b8 + 4) != 0" (pointer_expression "*(int *)(local_b8 + 4)" (* "*") (cast_expression "(int *)(local_b8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + 4)" (( "(") (binary_expression "local_b8 + 4" (identifier "local_b8") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          iVar21 = 0;\n                          do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);\n                        }" ({ "{") (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" (identifier "iVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          } while (iVar10 != 0);" (do "do") (compound_statement "{\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);\n                            if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);\n                            if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + local_b0[3] + 2U;\n                            puVar20 = (undefined4 *)(local_b8 + iVar21);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            puVar16 = (undefined1 *)puVar20[1];\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                            if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }\n                            puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);\n                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                            iVar21 = iVar21 + 8;\n                            uVar6 = *(uint *)(iVar29 + 0xbc);\n                            uVar19 = uVar6 + 1;\n                            iVar10 = *(int *)(local_b8 + iVar21 + 4);\n                            *(uint *)(iVar29 + 0xbc) = uVar19;\n                            *(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                          }" ({ "{") (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar25 + -0x79f8,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar25 + -0x79f8" (identifier "iVar25") (+ "+") (number_literal "-0x79f8")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if ((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" (if "if") (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0))" (( "(") (binary_expression "(puVar5 != (undefined *)0x0) ||\n                               (puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0)" (( "(") (comma_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3]),\n                               puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                         (**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                   (piVar14,1,local_b0[4],local_b0[3])" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,local_b0[4],local_b0[3])" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (subscript_expression "local_b0[4]" (identifier "local_b0") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]")) () ")"))))) (, ",") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0005ff90;" (goto "goto") (statement_identifier "LAB_0005ff90") (; ";"))) (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar26 + -0x7558,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar26 + -0x7558" (identifier "iVar26") (+ "+") (number_literal "-0x7558")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (puVar5 != (undefined *)0x0) {\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }" (if "if") (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                              *local_60 = puVar5;\n                              goto LAB_0005ff98;\n                            }" ({ "{") (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (identifier "puVar5")) (; ";")) (goto_statement "goto LAB_0005ff98;" (goto "goto") (statement_identifier "LAB_0005ff98") (; ";")) (} "}"))) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "uVar19 = uVar6 + local_b0[3] + 2U;" (assignment_expression "uVar19 = uVar6 + local_b0[3] + 2U" (identifier "uVar19") (= "=") (binary_expression "uVar6 + local_b0[3] + 2U" (binary_expression "uVar6 + local_b0[3]" (identifier "uVar6") (+ "+") (subscript_expression "local_b0[3]" (identifier "local_b0") ([ "[") (number_literal "3") (] "]"))) (+ "+") (number_literal "2U"))) (; ";")) (expression_statement "puVar20 = (undefined4 *)(local_b8 + iVar21);" (assignment_expression "puVar20 = (undefined4 *)(local_b8 + iVar21)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)(local_b8 + iVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "puVar16 = (undefined1 *)puVar20[1];" (assignment_expression "puVar16 = (undefined1 *)puVar20[1]" (identifier "puVar16") (= "=") (cast_expression "(undefined1 *)puVar20[1]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < uVar6)" (( "(") (binary_expression "uVar19 < uVar6" (identifier "uVar19") (< "<") (identifier "uVar6")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (if_statement "if (bVar1) {\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }\n                            else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\nLAB_0005fdc0:\n                              local_b4 = 0;\n                              local_b0[0] = 0;\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);\n                              if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;\n                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              uVar19 = uVar6 + 2;\n                              *(uint *)(iVar29 + 0xbc) = uVar19;\n                              *(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                              if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }\n                            }" ({ "{") (labeled_statement "LAB_0005fdc0:\n                              local_b4 = 0;" (statement_identifier "LAB_0005fdc0") (: ":") (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_b0[0] = 0;" (assignment_expression "local_b0[0] = 0" (subscript_expression "local_b0[0]" (identifier "local_b0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x4677c))\n                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4677c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x4677c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x4677c)" (* "*") (cast_expression "(code **)(puVar18 + 0x4677c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x4677c)" (( "(") (binary_expression "puVar18 + 0x4677c" (identifier "puVar18") (+ "+") (number_literal "0x4677c")) () ")"))))) () ")")) (argument_list "(iVar29,puVar16,*puVar20,&local_b4,local_b0)" (( "(") (identifier "iVar29") (, ",") (identifier "puVar16") (, ",") (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (, ",") (pointer_expression "&local_b4" (& "&") (identifier "local_b4")) (, ",") (identifier "local_b0") () ")"))))) (; ";")) (if_statement "if (puVar5 != (undefined *)0x0) {\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }" (if "if") (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                                (**(code **)(puVar18 + 0x47028))(local_b8);\n                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);\n                                (**(code **)(puVar18 + 0x4725c))(local_c0);\n                                *local_60 = puVar5;\n                                goto LAB_0005ff98;\n                              }" ({ "{") (expression_statement "(**(code **)(puVar18 + 0x47028))(local_b8);" (call_expression "(**(code **)(puVar18 + 0x47028))(local_b8)" (parenthesized_expression "(**(code **)(puVar18 + 0x47028))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47028)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47028)" (* "*") (cast_expression "(code **)(puVar18 + 0x47028)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47028)" (( "(") (binary_expression "puVar18 + 0x47028" (identifier "puVar18") (+ "+") (number_literal "0x47028")) () ")"))))) () ")")) (argument_list "(local_b8)" (( "(") (identifier "local_b8") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x46fbc))(local_bc,0);" (call_expression "(**(code **)(puVar18 + 0x46fbc))(local_bc,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46fbc))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46fbc)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46fbc)" (* "*") (cast_expression "(code **)(puVar18 + 0x46fbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46fbc)" (( "(") (binary_expression "puVar18 + 0x46fbc" (identifier "puVar18") (+ "+") (number_literal "0x46fbc")) () ")"))))) () ")")) (argument_list "(local_bc,0)" (( "(") (identifier "local_bc") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar18 + 0x4725c))(local_c0);" (call_expression "(**(code **)(puVar18 + 0x4725c))(local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4725c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x4725c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x4725c)" (* "*") (cast_expression "(code **)(puVar18 + 0x4725c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x4725c)" (( "(") (binary_expression "puVar18 + 0x4725c" (identifier "puVar18") (+ "+") (number_literal "0x4725c")) () ")"))))) () ")")) (argument_list "(local_c0)" (( "(") (identifier "local_c0") () ")"))) (; ";")) (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (identifier "puVar5")) (; ";")) (goto_statement "goto LAB_0005ff98;" (goto "goto") (statement_identifier "LAB_0005ff98") (; ";")) (} "}"))) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)\n                              ;" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar27 + 0x2cb4,2)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar27 + 0x2cb4" (identifier "iVar27") (+ "+") (number_literal "0x2cb4")) (, ",") (number_literal "2") () ")"))))) (; ";")) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" (if "if") (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0005ff90;" (goto "goto") (statement_identifier "LAB_0005ff90") (; ";"))) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "uVar19 = uVar6 + 2;" (assignment_expression "uVar19 = uVar6 + 2" (identifier "uVar19") (= "=") (binary_expression "uVar6 + 2" (identifier "uVar6") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < uVar6)" (( "(") (binary_expression "uVar19 < uVar6" (identifier "uVar19") (< "<") (identifier "uVar6")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (if_statement "if (local_b0[0] != 0) {\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }" (if "if") (parenthesized_expression "(local_b0[0] != 0)" (( "(") (binary_expression "local_b0[0] != 0" (subscript_expression "local_b0[0]" (identifier "local_b0") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);\n                                if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }\n                                goto LAB_0005ff90;\n                              }" ({ "{") (expression_statement "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);" (assignment_expression "puVar5 = (undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,local_b4)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (identifier "local_b4") () ")"))))) (; ";")) (if_statement "if (puVar5 == (undefined *)0x0) {\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }" (if "if") (parenthesized_expression "(puVar5 == (undefined *)0x0)" (( "(") (binary_expression "puVar5 == (undefined *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);\n                                  uVar6 = *(uint *)(iVar29 + 0xbc);\n                                  iVar17 = *(int *)(iVar29 + 0xb8);\n                                  iVar10 = local_b0[0];\n                                  goto LAB_0005ff78;\n                                }" ({ "{") (expression_statement "(*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);" (call_expression "(*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4)" (parenthesized_expression "(*(code *)**(undefined4 **)(puVar18 + 0x46608))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(puVar18 + 0x46608)" (* "*") (cast_expression "(code *)**(undefined4 **)(puVar18 + 0x46608)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar18 + 0x46608)" (* "*") (pointer_expression "*(undefined4 **)(puVar18 + 0x46608)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x46608)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46608)" (( "(") (binary_expression "puVar18 + 0x46608" (identifier "puVar18") (+ "+") (number_literal "0x46608")) () ")"))))))) () ")")) (argument_list "(local_b4)" (( "(") (identifier "local_b4") () ")"))) (; ";")) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar29 + 0xb8);" (assignment_expression "iVar17 = *(int *)(iVar29 + 0xb8)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (expression_statement "iVar10 = local_b0[0];" (assignment_expression "iVar10 = local_b0[0]" (identifier "iVar10") (= "=") (subscript_expression "local_b0[0]" (identifier "local_b0") ([ "[") (number_literal "0") (] "]"))) (; ";")) (goto_statement "goto LAB_0005ff78;" (goto "goto") (statement_identifier "LAB_0005ff78") (; ";")) (} "}"))) (goto_statement "goto LAB_0005ff90;" (goto "goto") (statement_identifier "LAB_0005ff90") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" (else "else") (compound_statement "{\n                              iVar10 = FUN_00073fc0(*puVar16);\n                              if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }\n                              puVar11 = (uint *)(local_b8 + iVar21);\n                              uVar6 = 0;\n                              if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }\n                              puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);\n                              if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;\n                              uVar6 = *(uint *)(iVar29 + 0xbc);\n                              iVar17 = *(int *)(iVar29 + 0xb8);\n                              iVar10 = *(int *)(local_b8 + iVar21) + 1;\nLAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;\n                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;\n                            }" ({ "{") (expression_statement "iVar10 = FUN_00073fc0(*puVar16);" (assignment_expression "iVar10 = FUN_00073fc0(*puVar16)" (identifier "iVar10") (= "=") (call_expression "FUN_00073fc0(*puVar16)" (identifier "FUN_00073fc0") (argument_list "(*puVar16)" (( "(") (pointer_expression "*puVar16" (* "*") (identifier "puVar16")) () ")")))) (; ";")) (if_statement "if ((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)) {\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }" (if "if") (parenthesized_expression "((iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0))" (( "(") (binary_expression "(iVar10 != 0) ||\n                                 (iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)" (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0)" (( "(") (comma_expression "iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)),\n                                 iVar10 != 0" (assignment_expression "iVar10 = FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" (identifier "iVar10") (= "=") (call_expression "FUN_00073fc0(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" (identifier "FUN_00073fc0") (argument_list "(*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1))" (( "(") (pointer_expression "*(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" (* "*") (cast_expression "(undefined1 *)\n                                                         (((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1)" (( "(") (binary_expression "((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21) + -1" (binary_expression "((int *)(local_b8 + iVar21))[1] +\n                                                          *(int *)(local_b8 + iVar21)" (subscript_expression "((int *)(local_b8 + iVar21))[1]" (parenthesized_expression "((int *)(local_b8 + iVar21))" (( "(") (cast_expression "(int *)(local_b8 + iVar21)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*(int *)(local_b8 + iVar21)" (* "*") (cast_expression "(int *)(local_b8 + iVar21)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")"))))) (+ "+") (number_literal "-1")) () ")")))) () ")")))) (, ",") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);\n                                puVar16 = (undefined1 *)puVar20[1];\n                                goto LAB_0005fdc0;\n                              }" ({ "{") (labeled_statement "LAB_0005ff2c:\n                                puVar20 = (undefined4 *)(local_b8 + iVar21);" (statement_identifier "LAB_0005ff2c") (: ":") (expression_statement "puVar20 = (undefined4 *)(local_b8 + iVar21);" (assignment_expression "puVar20 = (undefined4 *)(local_b8 + iVar21)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)(local_b8 + iVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")")))) (; ";"))) (expression_statement "puVar16 = (undefined1 *)puVar20[1];" (assignment_expression "puVar16 = (undefined1 *)puVar20[1]" (identifier "puVar16") (= "=") (cast_expression "(undefined1 *)puVar20[1]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar20[1]" (identifier "puVar20") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_0005fdc0;" (goto "goto") (statement_identifier "LAB_0005fdc0") (; ";")) (} "}"))) (expression_statement "puVar11 = (uint *)(local_b8 + iVar21);" (assignment_expression "puVar11 = (uint *)(local_b8 + iVar21)" (identifier "puVar11") (= "=") (cast_expression "(uint *)(local_b8 + iVar21)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*puVar11 != 0) {\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }" (if "if") (parenthesized_expression "(*puVar11 != 0)" (( "(") (binary_expression "*puVar11 != 0" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);\n                              }" ({ "{") (do_statement "do {\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                } while (uVar6 < *puVar11);" (do "do") (compound_statement "{\n                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));\n                                  if (iVar10 == 0) goto LAB_0005ff2c;\n                                  uVar6 = uVar6 + 1;\n                                  puVar11 = (uint *)(local_b8 + iVar21);\n                                }" ({ "{") (expression_statement "iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));" (assignment_expression "iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6))" (identifier "iVar10") (= "=") (call_expression "FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6))" (identifier "FUN_000740ec") (argument_list "(*(undefined1 *)(puVar11[1] + uVar6))" (( "(") (pointer_expression "*(undefined1 *)(puVar11[1] + uVar6)" (* "*") (cast_expression "(undefined1 *)(puVar11[1] + uVar6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11[1] + uVar6)" (( "(") (binary_expression "puVar11[1] + uVar6" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "uVar6")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar10 == 0) goto LAB_0005ff2c;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0005ff2c;" (goto "goto") (statement_identifier "LAB_0005ff2c") (; ";"))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar11 = (uint *)(local_b8 + iVar21);" (assignment_expression "puVar11 = (uint *)(local_b8 + iVar21)" (identifier "puVar11") (= "=") (cast_expression "(uint *)(local_b8 + iVar21)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 < *puVar11)" (( "(") (binary_expression "uVar6 < *puVar11" (identifier "uVar6") (< "<") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) () ")")) (; ";")) (} "}"))) (expression_statement "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);" (assignment_expression "puVar5 = (undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar9 + 0x3290,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar9 + 0x3290" (identifier "iVar9") (+ "+") (number_literal "0x3290")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if ((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;" (if "if") (parenthesized_expression "((puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0))" (( "(") (binary_expression "(puVar5 != (undefined *)0x0) ||\n                                 (puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)" (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0)" (( "(") (comma_expression "puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21)),\n                                 puVar5 != (undefined *)0x0" (assignment_expression "puVar5 = (undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                           (**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))\n                                                     (piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,\n                                                      ((undefined4 *)(local_b8 + iVar21))[1],\n                                                      *(undefined4 *)(local_b8 + iVar21))" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (subscript_expression "((undefined4 *)(local_b8 + iVar21))[1]" (parenthesized_expression "((undefined4 *)(local_b8 + iVar21))" (( "(") (cast_expression "(undefined4 *)(local_b8 + iVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")"))) () ")")) ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(local_b8 + iVar21)" (* "*") (cast_expression "(undefined4 *)(local_b8 + iVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")")))) () ")"))))) (, ",") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0005ff90;" (goto "goto") (statement_identifier "LAB_0005ff90") (; ";"))) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(iVar29 + 0xb8);" (assignment_expression "iVar17 = *(int *)(iVar29 + 0xb8)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(local_b8 + iVar21) + 1;" (assignment_expression "iVar10 = *(int *)(local_b8 + iVar21) + 1" (identifier "iVar10") (= "=") (binary_expression "*(int *)(local_b8 + iVar21) + 1" (pointer_expression "*(int *)(local_b8 + iVar21)" (* "*") (cast_expression "(int *)(local_b8 + iVar21)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21)" (( "(") (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "LAB_0005ff78:\n                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;" (statement_identifier "LAB_0005ff78") (: ":") (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar6 + iVar10" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (binary_expression "uVar6 + iVar10" (identifier "uVar6") (+ "+") (identifier "iVar10"))) (; ";"))) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar6 + iVar10 < uVar6) + iVar17" (call_expression "(uint)(uVar6 + iVar10 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar6 + iVar10 < uVar6)" (( "(") (binary_expression "uVar6 + iVar10 < uVar6" (binary_expression "uVar6 + iVar10" (identifier "uVar6") (+ "+") (identifier "iVar10")) (< "<") (identifier "uVar6")) () ")"))) (+ "+") (identifier "iVar17"))) (; ";")) (} "}")))) (expression_statement "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar4 + -0x7194" (identifier "iVar4") (+ "+") (number_literal "-0x7194")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" (if "if") (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0005ff90;" (goto "goto") (statement_identifier "LAB_0005ff90") (; ";"))) (expression_statement "iVar21 = iVar21 + 8;" (assignment_expression "iVar21 = iVar21 + 8" (identifier "iVar21") (= "=") (binary_expression "iVar21 + 8" (identifier "iVar21") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" (identifier "uVar19") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = *(int *)(local_b8 + iVar21 + 4);" (assignment_expression "iVar10 = *(int *)(local_b8 + iVar21 + 4)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(local_b8 + iVar21 + 4)" (* "*") (cast_expression "(int *)(local_b8 + iVar21 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_b8 + iVar21 + 4)" (( "(") (binary_expression "local_b8 + iVar21 + 4" (binary_expression "local_b8 + iVar21" (identifier "local_b8") (+ "+") (identifier "iVar21")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) =\n                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < uVar6)" (( "(") (binary_expression "uVar19 < uVar6" (identifier "uVar19") (< "<") (identifier "uVar6")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar18 + 0x47028))();" (call_expression "(**(code **)(puVar18 + 0x47028))()" (parenthesized_expression "(**(code **)(puVar18 + 0x47028))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x47028)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x47028)" (* "*") (cast_expression "(code **)(puVar18 + 0x47028)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47028)" (( "(") (binary_expression "puVar18 + 0x47028" (identifier "puVar18") (+ "+") (number_literal "0x47028")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar4 + -0x7194" (identifier "iVar4") (+ "+") (number_literal "-0x7194")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;" (if "if") (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0005ff90;" (goto "goto") (statement_identifier "LAB_0005ff90") (; ";"))) (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" (identifier "uVar19") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < uVar6)" (( "(") (binary_expression "uVar19 < uVar6" (identifier "uVar19") (< "<") (identifier "uVar6")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (} "}")))) (expression_statement "iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);" (assignment_expression "iVar9 = (**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(puVar18 + 0x46f38))\n                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8)" (parenthesized_expression "(**(code **)(puVar18 + 0x46f38))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46f38)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46f38)" (* "*") (cast_expression "(code **)(puVar18 + 0x46f38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46f38)" (( "(") (binary_expression "puVar18 + 0x46f38" (identifier "puVar18") (+ "+") (number_literal "0x46f38")) () ")"))))) () ")")) (argument_list "(*puVar23,iVar2,local_bc,piVar22,&local_b8)" (( "(") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (, ",") (identifier "iVar2") (, ",") (identifier "local_bc") (, ",") (identifier "piVar22") (, ",") (pointer_expression "&local_b8" (& "&") (identifier "local_b8")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((iVar9 == 0) && (local_b0[4] != 0))" (( "(") (binary_expression "(iVar9 == 0) && (local_b0[4] != 0)" (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_b0[4] != 0)" (( "(") (binary_expression "local_b0[4] != 0" (subscript_expression "local_b0[4]" (identifier "local_b0") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);" (assignment_expression "puVar5 = (undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (identifier "puVar5") (= "=") (cast_expression "(undefined *)\n                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0)" (parenthesized_expression "(**(code **)(puVar18 + 0x46618))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46618)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46618)" (* "*") (cast_expression "(code **)(puVar18 + 0x46618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46618)" (( "(") (binary_expression "puVar18 + 0x46618" (identifier "puVar18") (+ "+") (number_literal "0x46618")) () ")"))))) () ")")) (argument_list "(piVar14,1,iVar4 + -0x7194,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") (, ",") (binary_expression "iVar4 + -0x7194" (identifier "iVar4") (+ "+") (number_literal "-0x7194")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (puVar5 == (undefined *)0x0) {\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }" (if "if") (parenthesized_expression "(puVar5 == (undefined *)0x0)" (( "(") (binary_expression "puVar5 == (undefined *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    uVar6 = *(uint *)(iVar29 + 0xbc);\n                    pcVar28 = *(code **)(puVar18 + 0x46fbc);\n                    uVar19 = uVar6 + 1;\n                    *(uint *)(iVar29 + 0xbc) = uVar19;\n                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);\n                    (*pcVar28)(local_bc,0);\n                    uVar24 = *puVar23;\n                    goto LAB_0005fc30;\n                  }" ({ "{") (expression_statement "uVar6 = *(uint *)(iVar29 + 0xbc);" (assignment_expression "uVar6 = *(uint *)(iVar29 + 0xbc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")"))))) (; ";")) (expression_statement "pcVar28 = *(code **)(puVar18 + 0x46fbc);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x46fbc)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar18 + 0x46fbc)" (* "*") (cast_expression "(code **)(puVar18 + 0x46fbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46fbc)" (( "(") (binary_expression "puVar18 + 0x46fbc" (identifier "puVar18") (+ "+") (number_literal "0x46fbc")) () ")"))))) (; ";")) (expression_statement "uVar19 = uVar6 + 1;" (assignment_expression "uVar19 = uVar6 + 1" (identifier "uVar19") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xbc) = uVar19;" (assignment_expression "*(uint *)(iVar29 + 0xbc) = uVar19" (pointer_expression "*(uint *)(iVar29 + 0xbc)" (* "*") (cast_expression "(uint *)(iVar29 + 0xbc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xbc)" (( "(") (binary_expression "iVar29 + 0xbc" (identifier "iVar29") (+ "+") (number_literal "0xbc")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);" (assignment_expression "*(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (pointer_expression "*(uint *)(iVar29 + 0xb8)" (* "*") (cast_expression "(uint *)(iVar29 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (binary_expression "(uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8)" (call_expression "(uint)(uVar19 < uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < uVar6)" (( "(") (binary_expression "uVar19 < uVar6" (identifier "uVar19") (< "<") (identifier "uVar6")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar29 + 0xb8)" (* "*") (cast_expression "(int *)(iVar29 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar29 + 0xb8)" (( "(") (binary_expression "iVar29 + 0xb8" (identifier "iVar29") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (expression_statement "(*pcVar28)(local_bc,0);" (call_expression "(*pcVar28)(local_bc,0)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(local_bc,0)" (( "(") (identifier "local_bc") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar24 = *puVar23;" (assignment_expression "uVar24 = *puVar23" (identifier "uVar24") (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (goto_statement "goto LAB_0005fc30;" (goto "goto") (statement_identifier "LAB_0005fc30") (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0005ff90:\n              *local_60 = puVar5;" (statement_identifier "LAB_0005ff90") (: ":") (expression_statement "*local_60 = puVar5;" (assignment_expression "*local_60 = puVar5" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (identifier "puVar5")) (; ";"))) (} "}")))) (goto_statement "goto LAB_0005ff98;" (goto "goto") (statement_identifier "LAB_0005ff98") (; ";")) (} "}"))) (labeled_statement "LAB_0005fc30:\n          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);" (statement_identifier "LAB_0005fc30") (: ":") (expression_statement "iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);" (assignment_expression "iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2)" (parenthesized_expression "(**(code **)(puVar18 + 0x46ea0))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x46ea0)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x46ea0)" (* "*") (cast_expression "(code **)(puVar18 + 0x46ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x46ea0)" (( "(") (binary_expression "puVar18 + 0x46ea0" (identifier "puVar18") (+ "+") (number_literal "0x46ea0")) () ")"))))) () ")")) (argument_list "(uVar24,iVar2)" (( "(") (identifier "uVar24") (, ",") (identifier "iVar2") () ")")))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" (identifier "iVar25") (= "=") (number_literal "-1")) (; ";")) (labeled_statement "LAB_0006023c:\n      (**(code **)(puVar18 + 0x4725c))(local_c0);" (statement_identifier "LAB_0006023c") (: ":") (expression_statement "(**(code **)(puVar18 + 0x4725c))(local_c0);" (call_expression "(**(code **)(puVar18 + 0x4725c))(local_c0)" (parenthesized_expression "(**(code **)(puVar18 + 0x4725c))" (( "(") (pointer_expression "**(code **)(puVar18 + 0x4725c)" (* "*") (pointer_expression "*(code **)(puVar18 + 0x4725c)" (* "*") (cast_expression "(code **)(puVar18 + 0x4725c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x4725c)" (( "(") (binary_expression "puVar18 + 0x4725c" (identifier "puVar18") (+ "+") (number_literal "0x4725c")) () ")"))))) () ")")) (argument_list "(local_c0)" (( "(") (identifier "local_c0") () ")"))) (; ";"))) (} "}")))) (} "}")))) (if_statement "if (local_9c != (int *)*puVar3) {\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "(local_9c != (int *)*puVar3)" (( "(") (binary_expression "local_9c != (int *)*puVar3" (identifier "local_9c") (!= "!=") (cast_expression "(int *)*puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) () ")")) (compound_statement "{\n    pcVar28 = *(code **)(puVar18 + 0x47118);\n    piVar14 = local_9c;\n    (*pcVar28)();\n    iVar2 = *piVar14;\n    piVar22 = *(int **)(iVar2 + 0x154);\n    if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }\n    return 0;\n  }" ({ "{") (expression_statement "pcVar28 = *(code **)(puVar18 + 0x47118);" (assignment_expression "pcVar28 = *(code **)(puVar18 + 0x47118)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar18 + 0x47118)" (* "*") (cast_expression "(code **)(puVar18 + 0x47118)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x47118)" (( "(") (binary_expression "puVar18 + 0x47118" (identifier "puVar18") (+ "+") (number_literal "0x47118")) () ")"))))) (; ";")) (expression_statement "piVar14 = local_9c;" (assignment_expression "piVar14 = local_9c" (identifier "piVar14") (= "=") (identifier "local_9c")) (; ";")) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" (identifier "iVar2") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "piVar22 = *(int **)(iVar2 + 0x154);" (assignment_expression "piVar22 = *(int **)(iVar2 + 0x154)" (identifier "piVar22") (= "=") (pointer_expression "*(int **)(iVar2 + 0x154)" (* "*") (cast_expression "(int **)(iVar2 + 0x154)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x154)" (( "(") (binary_expression "iVar2 + 0x154" (identifier "iVar2") (+ "+") (number_literal "0x154")) () ")"))))) (; ";")) (if_statement "if (piVar22 != (int *)0x0) {\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }" (if "if") (parenthesized_expression "(piVar22 != (int *)0x0)" (( "(") (binary_expression "piVar22 != (int *)0x0" (identifier "piVar22") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }\n      *(undefined4 *)(iVar2 + 0x154) = 0;\n      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);\n    }" ({ "{") (if_statement "if (*piVar22 != 0) {\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }" (if "if") (parenthesized_expression "(*piVar22 != 0)" (( "(") (binary_expression "*piVar22 != 0" (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);\n        iVar2 = *piVar14;\n        *piVar22 = 0;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);" (call_expression "(**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0)" (parenthesized_expression "(**(code **)(pcVar28 + 0x46ad4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x46ad4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x46ad4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x46ad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x46ad4)" (( "(") (binary_expression "pcVar28 + 0x46ad4" (identifier "pcVar28") (+ "+") (number_literal "0x46ad4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)piVar14[300],*piVar22,0,0)" (( "(") (pointer_expression "*(undefined4 *)piVar14[300]" (* "*") (cast_expression "(undefined4 *)piVar14[300]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar14[300]" (identifier "piVar14") ([ "[") (number_literal "300") (] "]")))) (, ",") (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar2 = *piVar14;" (assignment_expression "iVar2 = *piVar14" (identifier "iVar2") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "*piVar22 = 0;" (assignment_expression "*piVar22 = 0" (pointer_expression "*piVar22" (* "*") (identifier "piVar22")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar2 + 0x154) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x154) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x154)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x154)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x154)" (( "(") (binary_expression "iVar2 + 0x154" (identifier "iVar2") (+ "+") (number_literal "0x154")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);" (call_expression "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar28 + 0x45d28))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar28 + 0x45d28)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar28 + 0x45d28)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar28 + 0x45d28)" (* "*") (pointer_expression "*(undefined4 **)(pcVar28 + 0x45d28)" (* "*") (cast_expression "(undefined4 **)(pcVar28 + 0x45d28)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x45d28)" (( "(") (binary_expression "pcVar28 + 0x45d28" (identifier "pcVar28") (+ "+") (number_literal "0x45d28")) () ")"))))))) () ")")) (argument_list "(piVar22)" (( "(") (identifier "piVar22") () ")"))) (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return iVar25;" (return "return") (identifier "iVar25") (; ";")) (} "}")))

/* 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 *done)

{
  bool bVar1;
  type_4 *puVar2;
  int var_1;
  type_5 *pCVar4;
  type_6 *puVar5;
  int var_15;
  type_7 *var_16;
  type_8 var_17;
  int var_19;
  int var_23;
  int var_20;
  int var_29;
  type_1 var_8;
  type_8 *puVar14;
  type_9 *pCVar15;
  type_6 *puVar16;
  int *piVar17;
  type_6 uVar18;
  char *pcVar19;
  type_10 *var_28;
  int var_32;
  type_8 var_18;
  type_11 *ptVar23;
  type_12 **unaff_s1;
  int var_25;
  int *var_35;
  type_6 *puVar26;
  type_13 *pCVar27;
  int var_22;
  int var_24;
  int var_26;
  type_4 *var_11;
  type_14 *var_36;
  int var_12;
  int var_14;
  type_6 uStack_bc;
  int var_21;
  type_6 uStack_b4;
  int var_13 [5];
  int *var_34;
  type_11 *ptStack_98;
  type_12 **ppSStack_94;
  type_2 *pcStack_90;
  type_4 *puStack_8c;
  type_13 *pCStack_88;
  type_3 *p_Stack_84;
  type_7 **ppLStack_60;
  type_7 *msg;
  int var_3;
  char *var_5;
  type_15 tv;
  type_12 *var_4;
  char *pcStack_28;
  int *var_10;
  
  puVar2 = PTR___stack_chk_guard_000a6fe0;
  var_10 = *(int **)PTR___stack_chk_guard_000a6fe0;
  msg = (type_7 *)0x0;
  tv.tv_sec = 0;
  tv.tv_usec = 1;
  var_5 = (char *)0x0;
  ptVar23 = (conn->proto).tftpc;
  pCVar27 = conn->data;
  if ((conn->handler->flags & 1) == 0) {
LAB_0005f820:
    if (*(char *)((int)&ptVar23->sockfd + 2) == '\0') {
LAB_0005f900:
      unaff_s1 = &var_4;
      pcVar19 = (char *)0x0;
      if ((conn->bits).user_passwd == false) {
        pcStack_28 = (char *)0x0;
        var_4 = (type_12 *)0x0;
      }
      else {
        pcStack_28 = conn->passwd;
        pcVar19 = conn->user;
        var_4 = (type_12 *)(*(type_14 *)PTR_strlen_000a6ea8)(pcStack_28);
      }
      ppLStack_60 = (type_7 **)0x0;
      var_1 = (*(type_14 *)PTR_ldap_sasl_bind_000a6fa8)(ptVar23->state,pcVar19,0,unaff_s1);
      if (var_1 == 0) {
        *(type_16 *)((int)&ptVar23->sockfd + 2) = 1;
        var_8 = var_9;
      }
      else {
LAB_0005fa84:
        var_8 = CURLE_LDAP_CANNOT_BIND;
      }
    }
    else {
      ppLStack_60 = &msg;
      var_1 = (*(type_14 *)PTR_ldap_result_000a6c94)(ptVar23->state,ptVar23->conn,0,&tv);
      if (var_1 < 0) {
        uVar18 = (*(type_14 *)PTR_ldap_err2string_000a6cac)(var_1);
        (*(type_14 *)PTR_Curl_failf_000a614c)(pCVar27,var_2 + 0x14a0,uVar18);
        goto LAB_0005fa84;
      }
      if (var_1 == 0) goto LAB_0005f9f4;
      ppLStack_60 = (type_7 **)&var_5;
      var_1 = (*(type_14 *)PTR_ldap_parse_result_000a6d74)(ptVar23->state,msg,&var_3,0);
      if (var_1 != 0) {
        uVar18 = (*(type_14 *)PTR_ldap_err2string_000a6cac)(var_1);
        (*(type_14 *)PTR_Curl_failf_000a614c)(pCVar27,var_2 + 0x14c0,uVar18);
        var_8 = CURLE_LDAP_CANNOT_BIND;
        goto LAB_0005f9a4;
      }
      if (var_3 == 2) {
        unaff_s1 = &var_4;
        (*(type_14 *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x11,unaff_s1);
        if (var_4 == (type_12 *)0x3) {
          if (var_5 != (char *)0x0) {
            (*(type_14 *)PTR_ldap_memfree_000a6b54)();
            var_5 = (char *)0x0;
          }
          var_4 = (type_12 *)0x2;
          (*(type_14 *)PTR_ldap_set_option_000a6b70)(ptVar23->state,0x11,unaff_s1);
          *(type_16 *)((int)&ptVar23->sockfd + 2) = 0;
          goto LAB_0005f900;
        }
      }
      if (var_3 == 0) {
        if (var_5 != (char *)0x0) {
          (*(type_14 *)PTR_ldap_memfree_000a6b54)();
        }
        var_8 = var_9;
        conn->recv[0] = (type_9 *)(var_6 + -0x4c4);
        *done = true;
      }
      else {
        uVar18 = (*(type_14 *)PTR_ldap_err2string_000a6cac)(0);
        pcVar19 = var_5;
        if (var_5 == (char *)0x0) {
          pcVar19 = var_2 + 0x3538;
        }
        (*(type_14 *)PTR_Curl_failf_000a614c)(pCVar27,var_2 + 0x14e8,uVar18,pcVar19);
        if (var_5 == (char *)0x0) {
          var_8 = CURLE_LOGIN_DENIED;
        }
        else {
          (*(type_14 *)PTR_ldap_memfree_000a6b54)();
          var_8 = CURLE_LOGIN_DENIED;
        }
      }
    }
  }
  else {
    if (*(char *)&ptVar23->sockfd != '\0') {
LAB_0005f814:
      if (*(char *)((int)&ptVar23->sockfd + 1) == '\0') {
        (*(type_14 *)PTR_ldap_get_option_000a6abc)(ptVar23->state,0x5008,&var_4);
        (*(type_14 *)PTR_ber_sockbuf_add_io_000a6c64)(var_4,var_7 + 0x60b0,0x14,conn);
        pCVar15 = conn->recv[0];
        pCVar4 = conn->send[0];
        *(type_16 *)((int)&ptVar23->sockfd + 1) = 1;
        ptVar23->mode = (type_17)pCVar15;
        ptVar23->error = (type_18)pCVar4;
      }
      goto LAB_0005f820;
    }
    var_8 = (*(type_14 *)PTR_Curl_ssl_connect_nonblocking_000a6288)(conn,0,&ptVar23->sockfd);
    if (var_8 == var_9) {
      if (*(char *)&ptVar23->sockfd != '\0') goto LAB_0005f814;
LAB_0005f9f4:
      var_8 = var_9;
    }
  }
LAB_0005f9a4:
  if (var_10 == *(int **)puVar2) {
    return var_8;
  }
  piVar17 = var_10;
  var_11 = PTR___stack_chk_fail_000a6c54;
  (*(type_14 *)PTR___stack_chk_fail_000a6c54)();
  puVar5 = *(type_6 **)(var_11 + 0x474a4);
  puStack_8c = puVar2;
  var_12 = *piVar17;
  var_34 = (int *)*puVar5;
  puVar26 = (type_6 *)piVar17[300];
  puVar16 = *(type_6 **)(var_12 + 0x154);
  var_13[2] = 1;
  var_14 = 0;
  uStack_bc = 0;
  var_13[1] = 0;
  ptStack_98 = ptVar23;
  ppSStack_94 = unaff_s1;
  pcStack_90 = conn;
  pCStack_88 = pCVar27;
  p_Stack_84 = done;
  var_1 = (**(type_14 **)(var_11 + 0x47158))(*puVar26,*puVar16,2,var_13 + 1,&var_14);
  if (var_1 < 0) {
    var_8 = ~var_9;
    uVar18 = (**(type_14 **)(var_11 + 0x47170))(var_1);
    (**(type_14 **)(var_11 + 0x46610))(var_12,*(int *)(var_11 + 0x46658) + 0x1508,uVar18);
    *ppLStack_60 = (type_7 *)0x38;
    goto LAB_0005ff9c;
  }
  *ppLStack_60 = (type_7 *)0x51;
  if (var_14 != 0) {
    var_1 = (**(type_14 **)(var_11 + 0x46dd8))(*puVar26);
    if (var_1 != 0) {
      var_24 = *(int *)(var_11 + 0x46658);
      var_26 = *(int *)(var_11 + 0x46658);
      var_22 = *(int *)(var_11 + 0x46658);
      do {
        var_15 = (**(type_14 **)(var_11 + 0x47068))(var_1);
        if (var_15 == 0x65) {
          var_13[3] = 0;
          var_1 = (**(type_14 **)(var_11 + 0x47238))(*puVar26,var_1,var_13,0,var_13 + 3,0,0,0)
          ;
          if (var_1 == 0) {
            if (var_13[0] != 0) {
              if (var_13[0] != 4) {
                uVar18 = (**(type_14 **)(var_11 + 0x47170))(0);
                var_17 = var_13[3];
                if (var_13[3] == 0) {
                  var_17 = *(int *)(var_11 + 0x46658) + 0x3538;
                }
                (**(type_14 **)(var_11 + 0x46610))
                          (var_12,*(int *)(var_11 + 0x46658) + 0x1554,uVar18,var_17);
                goto LAB_00060368;
              }
              (**(type_14 **)(var_11 + 0x46670))
                        (var_12,*(int *)(var_11 + 0x46658) + 0x1578,puVar16[1]);
            }
            *(type_6 *)(var_12 + 0x9c) = *(type_6 *)(var_12 + 0xbc);
            *(type_6 *)(var_12 + 0x98) = *(type_6 *)(var_12 + 0xb8);
            *ppLStack_60 = (type_7 *)0x0;
            var_8 = var_9;
          }
          else {
            uVar18 = (**(type_14 **)(var_11 + 0x47170))(var_1);
            (**(type_14 **)(var_11 + 0x46610))(var_12,*(int *)(var_11 + 0x46658) + 0x152c,uVar18);
LAB_00060368:
            var_8 = ~var_9;
            *ppLStack_60 = (type_7 *)0x27;
          }
          var_36 = *(type_14 **)(var_11 + 0x47018);
          *puVar16 = 0;
          (*var_36)(var_13[3]);
          goto LAB_0006023c;
        }
        uVar18 = *puVar26;
        if (var_15 == 100) {
          var_35 = var_13 + 3;
          var_36 = *(type_14 **)(var_11 + 0x472b8);
          puVar16[1] = puVar16[1] + 1;
          var_15 = (*var_36)(uVar18,var_1,&uStack_bc,var_35);
          if (var_15 < 0) {
            *ppLStack_60 = (type_7 *)0x38;
            goto LAB_0005ff98;
          }
          var_16 = (type_7 *)
                   (**(type_14 **)(var_11 + 0x46618))
                             (piVar17,1,*(int *)(var_11 + 0x46658) + 0x1598,4);
          if ((var_16 != (type_7 *)0x0) ||
             (var_16 = (type_7 *)
                       (**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_13[4],var_13[3]),
             var_16 != (type_7 *)0x0)) goto LAB_0005ff90;
          var_15 = *(int *)(var_11 + 0x46658);
          var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_15 + -0x7194,1);
          if (var_16 != (type_7 *)0x0) goto LAB_0005ff90;
          var_17 = *(type_8 *)(var_12 + 0xbc);
          uVar18 = *puVar26;
          var_36 = *(type_14 **)(var_11 + 0x46f38);
          var_18 = var_17 + var_13[3] + 5U;
          *(type_8 *)(var_12 + 0xbc) = var_18;
          *(type_8 *)(var_12 + 0xb8) = (type_8)(var_18 < var_17) + *(int *)(var_12 + 0xb8);
          var_19 = (*var_36)(uVar18,var_1,uStack_bc,var_35,&var_21);
          if ((var_19 != 0) || (var_19 = *(int *)(var_11 + 0x46658), var_13[4] == 0))
          goto LAB_000600a8;
          var_23 = *(int *)(var_11 + 0x46658);
          goto LAB_0005fd74;
        }
        var_1 = (**(type_14 **)(var_11 + 0x46ea0))(uVar18,var_1);
      } while (var_1 != 0);
    }
    var_8 = ~var_9;
LAB_0006023c:
    (**(type_14 **)(var_11 + 0x4725c))(var_14);
    goto LAB_0005ff9c;
  }
  goto LAB_0005ff98;
  while ((var_20 = (**(type_14 **)(var_11 + 0x46f38))(*puVar26,var_1,uStack_bc,var_35,&var_21),
         var_20 == 0 && (var_13[4] != 0))) {
LAB_0005fd74:
    if ((type_8)var_13[3] < 8) {
      bVar1 = false;
      if (var_21 != 0) goto LAB_0005fda8;
LAB_0005ffec:
      var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_22 + -0x79f8,1);
      if (((var_16 != (type_7 *)0x0) ||
          (var_16 = (type_7 *)
                    (**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_13[4],var_13[3]),
          var_16 != (type_7 *)0x0)) ||
         (var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_23 + 0x3900,2),
         var_16 != (type_7 *)0x0)) goto LAB_0005ff90;
      var_17 = *(type_8 *)(var_12 + 0xbc);
      var_18 = var_17 + var_13[3] + 3U;
      *(type_8 *)(var_12 + 0xbc) = var_18;
      *(type_8 *)(var_12 + 0xb8) = (type_8)(var_18 < var_17) + *(int *)(var_12 + 0xb8);
    }
    else {
      var_20 = (**(type_14 **)(var_11 + 0x47058))
                         (var_13[4] + (var_13[3] - 7U),var_19 + 0x15a0,7);
      bVar1 = var_20 == 0;
      if (var_21 == 0) goto LAB_0005ffec;
LAB_0005fda8:
      var_20 = *(int *)(var_11 + 0x46658);
      if (*(int *)(var_21 + 4) != 0) {
        var_25 = 0;
        do {
          var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_22 + -0x79f8,1);
          if ((var_16 != (type_7 *)0x0) ||
             (var_16 = (type_7 *)
                       (**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_13[4],var_13[3]),
             var_16 != (type_7 *)0x0)) goto LAB_0005ff90;
          var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_24 + -0x7558,1);
          if (var_16 != (type_7 *)0x0) {
            *ppLStack_60 = var_16;
            goto LAB_0005ff98;
          }
          var_17 = *(type_8 *)(var_12 + 0xbc);
          var_18 = var_17 + var_13[3] + 2U;
          *(type_8 *)(var_12 + 0xbc) = var_18;
          var_28 = (type_10 *)((type_6 *)(var_21 + var_25))[1];
          *(type_8 *)(var_12 + 0xb8) = (type_8)(var_18 < var_17) + *(int *)(var_12 + 0xb8);
          if (bVar1) {
            uStack_b4 = 0;
            var_13[0] = 0;
            var_16 = (type_7 *)
                     (**(type_14 **)(var_11 + 0x4677c))
                               (var_12,var_28,*(type_6 *)(var_21 + var_25),&uStack_b4,
                                var_13);
            if (var_16 != (type_7 *)0x0) {
              (**(type_14 **)(var_11 + 0x47028))(var_21);
              (**(type_14 **)(var_11 + 0x46fbc))(uStack_bc,0);
              (**(type_14 **)(var_11 + 0x4725c))(var_14);
              *ppLStack_60 = var_16;
              goto LAB_0005ff98;
            }
            var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_26 + 0x2cb4,2);
            if (var_16 != (type_7 *)0x0) goto LAB_0005ff90;
            var_17 = *(type_8 *)(var_12 + 0xbc);
            var_18 = var_17 + 2;
            *(type_8 *)(var_12 + 0xbc) = var_18;
            *(type_8 *)(var_12 + 0xb8) = (type_8)(var_18 < var_17) + *(int *)(var_12 + 0xb8);
            if (var_13[0] != 0) {
              var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,uStack_b4);
              if (var_16 == (type_7 *)0x0) {
                (*(type_14 *)**(type_6 **)(var_11 + 0x46608))(uStack_b4);
                var_17 = *(type_8 *)(var_12 + 0xbc);
                var_32 = *(int *)(var_12 + 0xb8);
                var_29 = var_13[0];
                goto LAB_0005ff78;
              }
              goto LAB_0005ff90;
            }
          }
          else {
            var_29 = var_27((type_8)*var_28);
            if ((var_29 != 0) ||
               (var_29 = var_27((type_8)*(type_10 *)(((int *)(var_21 + var_25))[1] +
                                                      *(int *)(var_21 + var_25) + -1)),
               var_29 != 0)) {
LAB_0005ff2c:
              var_8 = var_30();
              return var_8;
            }
            puVar14 = (type_8 *)(var_21 + var_25);
            var_17 = 0;
            if (*puVar14 != 0) {
              do {
                var_29 = var_31((type_8)*(type_10 *)(puVar14[1] + var_17));
                if (var_29 == 0) goto LAB_0005ff2c;
                var_17 = var_17 + 1;
                puVar14 = (type_8 *)(var_21 + var_25);
              } while (var_17 < *puVar14);
            }
            var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_20 + 0x3290,1);
            if ((var_16 != (type_7 *)0x0) ||
               (var_16 = (type_7 *)
                         (**(type_14 **)(var_11 + 0x46618))
                                   (piVar17,1,((type_6 *)(var_21 + var_25))[1],
                                    *(type_6 *)(var_21 + var_25)),
               var_16 != (type_7 *)0x0)) goto LAB_0005ff90;
            var_17 = *(type_8 *)(var_12 + 0xbc);
            var_32 = *(int *)(var_12 + 0xb8);
            var_29 = *(int *)(var_21 + var_25) + 1;
LAB_0005ff78:
            *(type_8 *)(var_12 + 0xbc) = var_17 + var_29;
            *(type_8 *)(var_12 + 0xb8) = (type_8)(var_17 + var_29 < var_17) + var_32;
          }
          var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_15 + -0x7194,0);
          if (var_16 != (type_7 *)0x0) goto LAB_0005ff90;
          var_25 = var_25 + 8;
          var_17 = *(type_8 *)(var_12 + 0xbc);
          var_18 = var_17 + 1;
          var_29 = *(int *)(var_21 + var_25 + 4);
          *(type_8 *)(var_12 + 0xbc) = var_18;
          *(type_8 *)(var_12 + 0xb8) = (type_8)(var_18 < var_17) + *(int *)(var_12 + 0xb8);
        } while (var_29 != 0);
      }
      (**(type_14 **)(var_11 + 0x47028))();
      var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_15 + -0x7194,0);
      if (var_16 != (type_7 *)0x0) goto LAB_0005ff90;
      var_17 = *(type_8 *)(var_12 + 0xbc);
      var_18 = var_17 + 1;
      *(type_8 *)(var_12 + 0xbc) = var_18;
      *(type_8 *)(var_12 + 0xb8) = (type_8)(var_18 < var_17) + *(int *)(var_12 + 0xb8);
    }
  }
LAB_000600a8:
  var_16 = (type_7 *)(**(type_14 **)(var_11 + 0x46618))(piVar17,1,var_15 + -0x7194,0);
  if (var_16 == (type_7 *)0x0) {
    var_17 = *(type_8 *)(var_12 + 0xbc);
    var_36 = *(type_14 **)(var_11 + 0x46fbc);
    var_18 = var_17 + 1;
    *(type_8 *)(var_12 + 0xbc) = var_18;
    *(type_8 *)(var_12 + 0xb8) = (type_8)(var_18 < var_17) + *(int *)(var_12 + 0xb8);
    (*var_36)(uStack_bc,0);
    var_8 = var_33(*puVar26);
    return var_8;
  }
LAB_0005ff90:
  *ppLStack_60 = var_16;
LAB_0005ff98:
  var_8 = ~var_9;
LAB_0005ff9c:
  if (var_34 != (int *)*puVar5) {
    var_36 = *(type_14 **)(var_11 + 0x47118);
    piVar17 = var_34;
    (*var_36)();
    var_1 = *piVar17;
    var_35 = *(int **)(var_1 + 0x154);
    if (var_35 != (int *)0x0) {
      if (*var_35 != 0) {
        (**(type_14 **)(var_36 + 0x46ad4))(*(type_6 *)piVar17[300],*var_35,0,0);
        var_1 = *piVar17;
        *var_35 = 0;
      }
      *(type_6 *)(var_1 + 0x154) = 0;
      (*(type_14 *)**(type_6 **)(var_36 + 0x45d28))(var_35);
    }
    return var_9;
  }
  return var_8;
}


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

/* WARNING: Type propagation algorithm not settling */

int MASKED(undefined4 *param_1,undefined1 *param_2)

{
  bool bVar1;
  int iVar2;
  undefined4 *puVar3;
  int iVar4;
  undefined *puVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  uint *puVar11;
  undefined4 uVar12;
  undefined4 *puVar13;
  int *piVar14;
  undefined4 uVar15;
  undefined1 *puVar16;
  int iVar17;
  undefined *puVar18;
  uint uVar19;
  undefined4 *puVar20;
  int *unaff_s1;
  int iVar21;
  int *piVar22;
  undefined4 *puVar23;
  undefined4 uVar24;
  int iVar25;
  int iVar26;
  int iVar27;
  code *pcVar28;
  int iVar29;
  int local_c0;
  undefined4 local_bc;
  int local_b8;
  undefined4 local_b4;
  int local_b0 [5];
  int *local_9c;
  undefined4 *local_98;
  int *local_94;
  undefined4 *local_90;
  undefined *local_8c;
  undefined4 local_88;
  undefined1 *local_84;
  undefined **local_60;
  undefined *local_40;
  int local_3c;
  undefined *local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  undefined4 local_28;
  int *local_24;
  
  puVar5 = PTR___stack_chk_guard_000a6fe0;
  local_24 = *(int **)PTR___stack_chk_guard_000a6fe0;
  local_40 = (undefined *)0x0;
  local_34 = 0;
  local_30 = 1;
  local_38 = (undefined *)0x0;
  puVar20 = (undefined4 *)param_1[300];
  uVar24 = *param_1;
  if ((*(uint *)(param_1[0xa1] + 0x44) & 1) == 0) {
LAB_0005f820:
    if (*(char *)((int)puVar20 + 0x16) == '\0') {
LAB_0005f900:
      unaff_s1 = &local_2c;
      uVar15 = 0;
      if (*(char *)(param_1 + 0x96) == '\0') {
        local_28 = 0;
        local_2c = 0;
      }
      else {
        local_28 = param_1[0x5d];
        uVar15 = param_1[0x5c];
        local_2c = (*(code *)PTR_strlen_000a6ea8)(local_28);
      }
      local_60 = (undefined **)0x0;
      iVar2 = (*(code *)PTR_ldap_sasl_bind_000a6fa8)(*puVar20,uVar15,0,unaff_s1);
      if (iVar2 == 0) {
        *(undefined1 *)((int)puVar20 + 0x16) = 1;
        iVar2 = 0;
        goto LAB_0005f9a4;
      }
    }
    else {
      local_60 = &local_40;
      iVar2 = (*(code *)PTR_ldap_result_000a6c94)(*puVar20,puVar20[4],0,&local_34);
      if (-1 < iVar2) {
        if (iVar2 != 0) {
          local_60 = &local_38;
          iVar2 = (*(code *)PTR_ldap_parse_result_000a6d74)(*puVar20,local_40,&local_3c,0);
          if (iVar2 != 0) {
            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);
            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14c0,uVar15);
            iVar2 = 0x26;
            goto LAB_0005f9a4;
          }
          if (local_3c == 2) {
            unaff_s1 = &local_2c;
            (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x11,unaff_s1);
            if (local_2c == 3) {
              if (local_38 != (undefined *)0x0) {
                (*(code *)PTR_ldap_memfree_000a6b54)();
                local_38 = (undefined *)0x0;
              }
              local_2c = 2;
              (*(code *)PTR_ldap_set_option_000a6b70)(*puVar20,0x11,unaff_s1);
              *(undefined1 *)((int)puVar20 + 0x16) = 0;
              goto LAB_0005f900;
            }
          }
          if (local_3c == 0) {
            if (local_38 != (undefined *)0x0) {
              (*(code *)PTR_ldap_memfree_000a6b54)();
            }
            iVar2 = 0;
            param_1[0x6b] = PTR_LAB_000a6744 + -0x4c4;
            *param_2 = 1;
          }
          else {
            uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(0);
            puVar18 = local_38;
            if (local_38 == (undefined *)0x0) {
              puVar18 = PTR_UINT_000a6194 + 0x3538;
            }
            (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14e8,uVar15,puVar18);
            if (local_38 == (undefined *)0x0) {
              iVar2 = 0x43;
            }
            else {
              (*(code *)PTR_ldap_memfree_000a6b54)();
              iVar2 = 0x43;
            }
          }
          goto LAB_0005f9a4;
        }
        goto LAB_0005f9f4;
      }
      uVar15 = (*(code *)PTR_ldap_err2string_000a6cac)(iVar2);
      (*(code *)PTR_FUN_000a614c)(uVar24,PTR_UINT_000a6194 + 0x14a0,uVar15);
    }
    iVar2 = 0x26;
  }
  else {
    if (*(char *)(puVar20 + 5) != '\0') {
LAB_0005f814:
      if (*(char *)((int)puVar20 + 0x15) == '\0') {
        (*(code *)PTR_ldap_get_option_000a6abc)(*puVar20,0x5008,&local_2c);
        (*(code *)PTR_ber_sockbuf_add_io_000a6c64)(local_2c,PTR_DAT_000a612c + 0x60b0,0x14,param_1);
        uVar12 = param_1[0x6b];
        uVar15 = param_1[0x6d];
        *(undefined1 *)((int)puVar20 + 0x15) = 1;
        puVar20[1] = uVar12;
        puVar20[2] = uVar15;
      }
      goto LAB_0005f820;
    }
    iVar2 = (*(code *)PTR_FUN_000a6288)(param_1,0,puVar20 + 5);
    if (iVar2 != 0) goto LAB_0005f9a4;
    if (*(char *)(puVar20 + 5) != '\0') goto LAB_0005f814;
LAB_0005f9f4:
    iVar2 = 0;
  }
LAB_0005f9a4:
  if (local_24 == *(int **)puVar5) {
    return iVar2;
  }
  piVar14 = local_24;
  puVar18 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  puVar3 = *(undefined4 **)(puVar18 + 0x474a4);
  local_8c = puVar5;
  iVar29 = *piVar14;
  local_9c = (int *)*puVar3;
  puVar23 = (undefined4 *)piVar14[300];
  puVar13 = *(undefined4 **)(iVar29 + 0x154);
  local_b0[2] = 1;
  local_c0 = 0;
  local_bc = 0;
  local_b0[1] = 0;
  local_98 = puVar20;
  local_94 = unaff_s1;
  local_90 = param_1;
  local_88 = uVar24;
  local_84 = param_2;
  iVar2 = (**(code **)(puVar18 + 0x47158))(*puVar23,*puVar13,2,local_b0 + 1,&local_c0);
  if (iVar2 < 0) {
    iVar25 = -1;
    uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);
    (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x1508,uVar24);
    *local_60 = (undefined *)0x38;
  }
  else {
    *local_60 = (undefined *)0x51;
    if (local_c0 == 0) {
LAB_0005ff98:
      iVar25 = -1;
    }
    else {
      iVar2 = (**(code **)(puVar18 + 0x46dd8))(*puVar23);
      if (iVar2 != 0) {
        iVar26 = *(int *)(puVar18 + 0x46658);
        iVar27 = *(int *)(puVar18 + 0x46658);
        iVar25 = *(int *)(puVar18 + 0x46658);
        do {
          iVar4 = (**(code **)(puVar18 + 0x47068))(iVar2);
          if (iVar4 == 0x65) {
            local_b0[3] = 0;
            iVar2 = (**(code **)(puVar18 + 0x47238))(*puVar23,iVar2,local_b0,0,local_b0 + 3,0,0,0);
            if (iVar2 == 0) {
              if (local_b0[0] != 0) {
                if (local_b0[0] != 4) {
                  uVar24 = (**(code **)(puVar18 + 0x47170))(0);
                  uVar6 = local_b0[3];
                  if (local_b0[3] == 0) {
                    uVar6 = *(int *)(puVar18 + 0x46658) + 0x3538;
                  }
                  (**(code **)(puVar18 + 0x46610))
                            (iVar29,*(int *)(puVar18 + 0x46658) + 0x1554,uVar24,uVar6);
                  goto LAB_00060368;
                }
                (**(code **)(puVar18 + 0x46670))
                          (iVar29,*(int *)(puVar18 + 0x46658) + 0x1578,puVar13[1]);
              }
              *(undefined4 *)(iVar29 + 0x9c) = *(undefined4 *)(iVar29 + 0xbc);
              *(undefined4 *)(iVar29 + 0x98) = *(undefined4 *)(iVar29 + 0xb8);
              *local_60 = (undefined *)0x0;
              iVar25 = 0;
            }
            else {
              uVar24 = (**(code **)(puVar18 + 0x47170))(iVar2);
              (**(code **)(puVar18 + 0x46610))(iVar29,*(int *)(puVar18 + 0x46658) + 0x152c,uVar24);
LAB_00060368:
              iVar25 = -1;
              *local_60 = (undefined *)0x27;
            }
            pcVar28 = *(code **)(puVar18 + 0x47018);
            *puVar13 = 0;
            (*pcVar28)(local_b0[3]);
            goto LAB_0006023c;
          }
          uVar24 = *puVar23;
          if (iVar4 == 100) {
            piVar22 = local_b0 + 3;
            pcVar28 = *(code **)(puVar18 + 0x472b8);
            puVar13[1] = puVar13[1] + 1;
            iVar4 = (*pcVar28)(uVar24,iVar2,&local_bc,piVar22);
            if (iVar4 < 0) {
              *local_60 = (undefined *)0x38;
            }
            else {
              puVar5 = (undefined *)
                       (**(code **)(puVar18 + 0x46618))
                                 (piVar14,1,*(int *)(puVar18 + 0x46658) + 0x1598,4);
              if ((puVar5 == (undefined *)0x0) &&
                 (puVar5 = (undefined *)
                           (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b0[4],local_b0[3]),
                 puVar5 == (undefined *)0x0)) {
                iVar4 = *(int *)(puVar18 + 0x46658);
                puVar5 = (undefined *)(**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,1);
                if (puVar5 == (undefined *)0x0) {
                  uVar6 = *(uint *)(iVar29 + 0xbc);
                  uVar24 = *puVar23;
                  pcVar28 = *(code **)(puVar18 + 0x46f38);
                  uVar19 = uVar6 + local_b0[3] + 5U;
                  *(uint *)(iVar29 + 0xbc) = uVar19;
                  *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                  iVar7 = (*pcVar28)(uVar24,iVar2,local_bc,piVar22,&local_b8);
                  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar18 + 0x46658), local_b0[4] != 0)) {
                    iVar8 = *(int *)(puVar18 + 0x46658);
                    do {
                      if ((uint)local_b0[3] < 8) {
                        bVar1 = false;
                        if (local_b8 != 0) goto LAB_0005fda8;
LAB_0005ffec:
                        puVar5 = (undefined *)
                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);
                        if (((puVar5 != (undefined *)0x0) ||
                            (puVar5 = (undefined *)
                                      (**(code **)(puVar18 + 0x46618))
                                                (piVar14,1,local_b0[4],local_b0[3]),
                            puVar5 != (undefined *)0x0)) ||
                           (puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar8 + 0x3900,2),
                           puVar5 != (undefined *)0x0)) goto LAB_0005ff90;
                        uVar6 = *(uint *)(iVar29 + 0xbc);
                        uVar19 = uVar6 + local_b0[3] + 3U;
                        *(uint *)(iVar29 + 0xbc) = uVar19;
                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                      }
                      else {
                        iVar9 = (**(code **)(puVar18 + 0x47058))
                                          (local_b0[4] + (local_b0[3] - 7U),iVar7 + 0x15a0,7);
                        bVar1 = iVar9 == 0;
                        if (local_b8 == 0) goto LAB_0005ffec;
LAB_0005fda8:
                        iVar9 = *(int *)(puVar18 + 0x46658);
                        if (*(int *)(local_b8 + 4) != 0) {
                          iVar21 = 0;
                          do {
                            puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar25 + -0x79f8,1);
                            if ((puVar5 != (undefined *)0x0) ||
                               (puVar5 = (undefined *)
                                         (**(code **)(puVar18 + 0x46618))
                                                   (piVar14,1,local_b0[4],local_b0[3]),
                               puVar5 != (undefined *)0x0)) goto LAB_0005ff90;
                            puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar26 + -0x7558,1);
                            if (puVar5 != (undefined *)0x0) {
                              *local_60 = puVar5;
                              goto LAB_0005ff98;
                            }
                            uVar6 = *(uint *)(iVar29 + 0xbc);
                            uVar19 = uVar6 + local_b0[3] + 2U;
                            puVar20 = (undefined4 *)(local_b8 + iVar21);
                            *(uint *)(iVar29 + 0xbc) = uVar19;
                            puVar16 = (undefined1 *)puVar20[1];
                            *(uint *)(iVar29 + 0xb8) =
                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                            if (bVar1) {
LAB_0005fdc0:
                              local_b4 = 0;
                              local_b0[0] = 0;
                              puVar5 = (undefined *)
                                       (**(code **)(puVar18 + 0x4677c))
                                                 (iVar29,puVar16,*puVar20,&local_b4,local_b0);
                              if (puVar5 != (undefined *)0x0) {
                                (**(code **)(puVar18 + 0x47028))(local_b8);
                                (**(code **)(puVar18 + 0x46fbc))(local_bc,0);
                                (**(code **)(puVar18 + 0x4725c))(local_c0);
                                *local_60 = puVar5;
                                goto LAB_0005ff98;
                              }
                              puVar5 = (undefined *)
                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar27 + 0x2cb4,2)
                              ;
                              if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;
                              uVar6 = *(uint *)(iVar29 + 0xbc);
                              uVar19 = uVar6 + 2;
                              *(uint *)(iVar29 + 0xbc) = uVar19;
                              *(uint *)(iVar29 + 0xb8) =
                                   (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                              if (local_b0[0] != 0) {
                                puVar5 = (undefined *)
                                         (**(code **)(puVar18 + 0x46618))(piVar14,1,local_b4);
                                if (puVar5 == (undefined *)0x0) {
                                  (*(code *)**(undefined4 **)(puVar18 + 0x46608))(local_b4);
                                  uVar6 = *(uint *)(iVar29 + 0xbc);
                                  iVar17 = *(int *)(iVar29 + 0xb8);
                                  iVar10 = local_b0[0];
                                  goto LAB_0005ff78;
                                }
                                goto LAB_0005ff90;
                              }
                            }
                            else {
                              iVar10 = FUN_00073fc0(*puVar16);
                              if ((iVar10 != 0) ||
                                 (iVar10 = FUN_00073fc0(*(undefined1 *)
                                                         (((int *)(local_b8 + iVar21))[1] +
                                                          *(int *)(local_b8 + iVar21) + -1)),
                                 iVar10 != 0)) {
LAB_0005ff2c:
                                puVar20 = (undefined4 *)(local_b8 + iVar21);
                                puVar16 = (undefined1 *)puVar20[1];
                                goto LAB_0005fdc0;
                              }
                              puVar11 = (uint *)(local_b8 + iVar21);
                              uVar6 = 0;
                              if (*puVar11 != 0) {
                                do {
                                  iVar10 = FUN_000740ec(*(undefined1 *)(puVar11[1] + uVar6));
                                  if (iVar10 == 0) goto LAB_0005ff2c;
                                  uVar6 = uVar6 + 1;
                                  puVar11 = (uint *)(local_b8 + iVar21);
                                } while (uVar6 < *puVar11);
                              }
                              puVar5 = (undefined *)
                                       (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar9 + 0x3290,1);
                              if ((puVar5 != (undefined *)0x0) ||
                                 (puVar5 = (undefined *)
                                           (**(code **)(puVar18 + 0x46618))
                                                     (piVar14,1,
                                                      ((undefined4 *)(local_b8 + iVar21))[1],
                                                      *(undefined4 *)(local_b8 + iVar21)),
                                 puVar5 != (undefined *)0x0)) goto LAB_0005ff90;
                              uVar6 = *(uint *)(iVar29 + 0xbc);
                              iVar17 = *(int *)(iVar29 + 0xb8);
                              iVar10 = *(int *)(local_b8 + iVar21) + 1;
LAB_0005ff78:
                              *(uint *)(iVar29 + 0xbc) = uVar6 + iVar10;
                              *(uint *)(iVar29 + 0xb8) = (uint)(uVar6 + iVar10 < uVar6) + iVar17;
                            }
                            puVar5 = (undefined *)
                                     (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);
                            if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;
                            iVar21 = iVar21 + 8;
                            uVar6 = *(uint *)(iVar29 + 0xbc);
                            uVar19 = uVar6 + 1;
                            iVar10 = *(int *)(local_b8 + iVar21 + 4);
                            *(uint *)(iVar29 + 0xbc) = uVar19;
                            *(uint *)(iVar29 + 0xb8) =
                                 (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                          } while (iVar10 != 0);
                        }
                        (**(code **)(puVar18 + 0x47028))();
                        puVar5 = (undefined *)
                                 (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);
                        if (puVar5 != (undefined *)0x0) goto LAB_0005ff90;
                        uVar6 = *(uint *)(iVar29 + 0xbc);
                        uVar19 = uVar6 + 1;
                        *(uint *)(iVar29 + 0xbc) = uVar19;
                        *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                      }
                      iVar9 = (**(code **)(puVar18 + 0x46f38))
                                        (*puVar23,iVar2,local_bc,piVar22,&local_b8);
                    } while ((iVar9 == 0) && (local_b0[4] != 0));
                  }
                  puVar5 = (undefined *)
                           (**(code **)(puVar18 + 0x46618))(piVar14,1,iVar4 + -0x7194,0);
                  if (puVar5 == (undefined *)0x0) {
                    uVar6 = *(uint *)(iVar29 + 0xbc);
                    pcVar28 = *(code **)(puVar18 + 0x46fbc);
                    uVar19 = uVar6 + 1;
                    *(uint *)(iVar29 + 0xbc) = uVar19;
                    *(uint *)(iVar29 + 0xb8) = (uint)(uVar19 < uVar6) + *(int *)(iVar29 + 0xb8);
                    (*pcVar28)(local_bc,0);
                    uVar24 = *puVar23;
                    goto LAB_0005fc30;
                  }
                }
              }
LAB_0005ff90:
              *local_60 = puVar5;
            }
            goto LAB_0005ff98;
          }
LAB_0005fc30:
          iVar2 = (**(code **)(puVar18 + 0x46ea0))(uVar24,iVar2);
        } while (iVar2 != 0);
      }
      iVar25 = -1;
LAB_0006023c:
      (**(code **)(puVar18 + 0x4725c))(local_c0);
    }
  }
  if (local_9c != (int *)*puVar3) {
    pcVar28 = *(code **)(puVar18 + 0x47118);
    piVar14 = local_9c;
    (*pcVar28)();
    iVar2 = *piVar14;
    piVar22 = *(int **)(iVar2 + 0x154);
    if (piVar22 != (int *)0x0) {
      if (*piVar22 != 0) {
        (**(code **)(pcVar28 + 0x46ad4))(*(undefined4 *)piVar14[300],*piVar22,0,0);
        iVar2 = *piVar14;
        *piVar22 = 0;
      }
      *(undefined4 *)(iVar2 + 0x154) = 0;
      (*(code *)**(undefined4 **)(pcVar28 + 0x45d28))(piVar22);
    }
    return 0;
  }
  return iVar25;
}

