
/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */
/* WARNING: Enum "gnutls_pk_algorithm_t": Some values do not have unique names */
/* WARNING: Enum "gnutls_certificate_type_t": Some values do not have unique names */

int digest_auth_check_all
              (MHD_Connection *connection,DigestAlgorithm *da,char *realm,char *username,
              char *password,uint8_t *digest,uint nonce_timeout)

{
  int iVar1;
  undefined *puVar2;
  char *pcVar3;
  int iVar4;
  size_t sVar5;
  uint8_t *puVar6;
  size_t sVar7;
  undefined4 uVar8;
  int iVar9;
  MHD_HTTP_Header *pMVar10;
  undefined *puVar11;
  char *rnd;
  int iVar12;
  uint8_t *alg;
  char *unaff_s0;
  uint uVar13;
  MHD_Daemon *daemon;
  undefined1 auStack_2c0 [16];
  undefined8 uStack_2b0;
  int aiStack_2a8 [2];
  uint8_t *local_298;
  uint8_t *local_294;
  uint8_t *local_290;
  uint8_t *local_28c;
  uint8_t *local_288;
  code *local_284;
  uint8_t *local_280;
  uchar *local_27c;
  undefined1 *local_278;
  char *local_26c;
  uint32_t nonce_time;
  uint num_headers;
  uint64_t nci;
  char qop [15];
  char nc [20];
  char nonce [129];
  char cnonce [129];
  char response [256];
  
  puVar2 = PTR___stack_chk_guard_0003f2ec;
  iVar9 = da->digest_size * 2;
  local_27c = (uchar *)password;
  iVar12 = *(int *)PTR___stack_chk_guard_0003f2ec;
  daemon = connection->daemon;
  local_280 = digest;
  iVar1 = -(iVar9 + 8U & 0xfffffff8);
  local_278 = (undefined1 *)(iVar9 + 1);
  iVar9 = -(iVar9 + 0x10U & 0xfffffff8);
  pcVar3 = (char *)(*(code *)PTR_MHD_lookup_connection_value_0003f14c)
                             (connection,1,PTR_DAT_0003f05c + -0x2634);
  if (pcVar3 == (char *)0x0) goto LAB_00026264;
  iVar4 = (*(code *)PTR_strncmp_0003f174)(pcVar3,PTR_DAT_0003f05c + -0x2624,7);
  unaff_s0 = pcVar3;
  if (iVar4 != 0) goto LAB_00026264;
  unaff_s0 = pcVar3 + 7;
  local_26c = response;
  local_28c = (uint8_t *)(*(code *)PTR_strlen_0003f228)(unaff_s0);
  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);
  local_288 = (uint8_t *)lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);
  uVar13 = 0;
  if ((local_288 != (uint8_t *)0x0) &&
     (iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0)) {
    local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);
    if (local_290 == (uint8_t *)0x0) goto LAB_00026264;
    iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c);
    if (iVar4 != 0) goto LAB_00026264;
    local_294 = (uint8_t *)nonce;
    iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);
    if (iVar4 == 0) goto LAB_00026264;
    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4);
    if ((uint8_t *)0x8000 < local_288 + -5) goto LAB_00026264;
    sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time);
    if (sVar7 == 8) {
      uVar13 = MHD_monotonic_sec_counter();
      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {
        rnd = daemon->digest_auth_random;
        pcVar3 = connection->method;
        sVar7 = daemon->digest_auth_rand_size;
        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;
        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;
        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;
        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;
        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),
                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),
                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),
                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));
        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);
        if (iVar4 == 0) {
          local_28c = (uint8_t *)cnonce;
          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);
          uVar13 = 0;
          if (iVar4 != 0) {
            local_290 = (uint8_t *)qop;
            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);
            if ((iVar4 != 0) &&
               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),
                iVar4 == 0 || (qop[0] == '\0')))) {
              local_298 = (uint8_t *)nc;
              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);
              if ((sVar7 != 0) &&
                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),
                 iVar4 != 0)) {
                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);
                if (sVar5 == sVar7) goto LAB_000265c4;
                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);
                goto LAB_00026268;
              }
            }
          }
          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);
          goto LAB_00026268;
        }
      }
      uVar13 = 0xffffffff;
    }
    else {
      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);
      uVar13 = 0;
    }
  }
LAB_00026268:
  do {
    while( true ) {
      while( true ) {
        while( true ) {
          while( true ) {
            while( true ) {
              if (iVar12 == *(int *)puVar2) {
                return uVar13;
              }
              (*(code *)PTR___stack_chk_fail_0003f2b8)();
LAB_000265c4:
              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,
                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));
              if (iVar4 == 1) break;
LAB_00026264:
              uVar13 = 0;
            }
            local_288 = local_288 + -4;
            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);
            if (puVar6 != (uint8_t *)0x0) break;
            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);
          }
          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);
          puVar11 = PTR_DAT_0003f05c;
          if (iVar4 != 0) break;
          (*(code *)PTR_free_0003f2f8)(puVar6);
        }
        alg = (uint8_t *)da->alg;
        if (local_280 == (uint8_t *)0x0) {
          iVar4 = -(da->digest_size + 7 & 0xfffffff8);
          (*da->init)(da->ctx);
          sVar7 = (*(code *)PTR_strlen_0003f228)(username);
          (*da->update)(da->ctx,(uint8_t *)username,sVar7);
          (*da->update)(da->ctx,puVar11 + -0x26d0,1);
          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);
          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);
          (*da->update)(da->ctx,puVar11 + -0x26d0,1);
          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);
          (*da->update)(da->ctx,local_27c,sVar7);
          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);
          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;
          digest_calc_ha1_from_digest
                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,
                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));
          local_288 = alg;
          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);
        }
        else {
          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;
          digest_calc_ha1_from_digest
                    ((char *)alg,da,local_280,(char *)local_294,
                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));
        }
        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);
        realm = (char *)da->digest_size;
        local_280 = (uint8_t *)connection->method;
        (*da->init)(da->ctx);
        local_27c = &stack0xfffffd60 +
                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;
        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);
        (*da->update)(da->ctx,local_280,sVar7);
        (*da->update)(da->ctx,puVar11 + -0x26d0,1);
        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);
        (*da->update)(da->ctx,puVar6,sVar7);
        (*da->digest)(da->ctx,&stack0xfffffd60 +
                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));
        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),
               da->digest_size,da->sessionkey);
        (*da->init)(da->ctx);
        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);
        (*da->update)(da->ctx,puVar11 + -0x26d0,1);
        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);
        (*da->update)(da->ctx,local_294,sVar7);
        (*da->update)(da->ctx,puVar11 + -0x26d0,1);
        if (qop[0] != '\0') {
          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);
          (*da->update)(da->ctx,local_298,sVar7);
          (*da->update)(da->ctx,puVar11 + -0x26d0,1);
          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);
          (*da->update)(da->ctx,local_28c,sVar7);
          (*da->update)(da->ctx,puVar11 + -0x26d0,1);
          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);
          (*da->update)(da->ctx,local_290,sVar7);
          (*da->update)(da->ctx,puVar11 + -0x26d0,1);
        }
        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);
        (*da->digest)(da->ctx,local_27c);
        cvthex(local_27c,(size_t)realm,da->sessionkey);
        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);
        unaff_s0 = connection->url;
        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);
        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);
        username = (char *)puVar6;
        if (iVar4 == 0) break;
        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);
        (*(code *)PTR_free_0003f2f8)(puVar6);
        local_278 = auStack_2c0 + iVar9 + iVar1;
      }
      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);
      if (iVar4 == 0) {
        puVar11 = PTR_DAT_0003f05c + -0x47bc;
      }
      else {
        puVar11 = (undefined *)(iVar4 + 1);
      }
      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);
      if (pcVar3 != (char *)0x0) break;
      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);
      unaff_s0 = (char *)0x0;
LAB_00026b0c:
      uVar13 = 0;
      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);
      (*(code *)PTR_free_0003f2f8)(puVar6);
      local_278 = auStack_2c0 + iVar9 + iVar1;
    }
    *(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;
    unaff_s0 = (char *)MHD_parse_arguments_
                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,
                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),
                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));
    (*(code *)PTR_free_0003f2f8)(pcVar3);
    if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;
    uVar13 = num_headers;
    for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;
        pMVar10 = pMVar10->next) {
      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {
        uVar13 = uVar13 - 1;
        num_headers = uVar13;
      }
    }
    if (uVar13 != 0) goto LAB_00026b0c;
    (*(code *)PTR_free_0003f2f8)(puVar6);
    iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);
    uVar13 = (uint)(iVar4 == 0);
    local_278 = auStack_2c0 + iVar9 + iVar1;
  } while( true );
}



uint FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,
                 int param_7)

{
  int iVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  undefined4 uVar6;
  int iVar7;
  int *piVar8;
  undefined *puVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined1 *puVar12;
  int unaff_s0;
  uint uVar13;
  int iVar14;
  undefined1 auStack_2c0 [16];
  int aiStack_2b0 [4];
  undefined1 *local_298;
  undefined1 *local_294;
  char *local_290;
  undefined1 *local_28c;
  undefined1 *local_288;
  code *local_284;
  int local_280;
  undefined1 *local_27c;
  undefined1 *local_278;
  undefined1 *local_26c;
  uint local_268;
  int local_264;
  undefined4 local_260;
  undefined4 local_25c;
  char local_258 [16];
  undefined1 auStack_248 [12];
  undefined1 auStack_23c [8];
  undefined1 auStack_234 [132];
  undefined1 auStack_1b0 [132];
  undefined1 auStack_12c [256];
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_0003f2ec;
  iVar7 = *param_2 * 2;
  local_27c = param_5;
  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;
  iVar14 = *(int *)(param_1 + 0x18);
  local_280 = param_6;
  iVar1 = -(iVar7 + 8U & 0xfffffff8);
  local_278 = (undefined1 *)(iVar7 + 1);
  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);
  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);
  if (iVar3 == 0) goto LAB_00026264;
  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);
  unaff_s0 = iVar3;
  if (iVar4 != 0) goto LAB_00026264;
  unaff_s0 = iVar3 + 7;
  local_26c = auStack_12c;
  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);
  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);
  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);
  uVar13 = 0;
  if ((local_288 != (undefined1 *)0x0) &&
     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {
    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);
    if (local_290 == (char *)0x0) goto LAB_00026264;
    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);
    if (iVar3 != 0) goto LAB_00026264;
    local_294 = auStack_234;
    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);
    if (iVar3 == 0) goto LAB_00026264;
    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);
    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;
    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);
    if (iVar3 == 8) {
      uVar13 = FUN_0002186c();
      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {
        uVar10 = *(undefined4 *)(iVar14 + 0x144);
        uVar6 = *(undefined4 *)(param_1 + 0x34);
        uVar11 = *(undefined4 *)(iVar14 + 0x164);
        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;
        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;
        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;
        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);
        FUN_00025760(local_268,uVar6,uVar10,uVar11);
        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);
        if (iVar3 == 0) {
          local_28c = auStack_1b0;
          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);
          uVar13 = 0;
          if (iVar3 != 0) {
            local_290 = local_258;
            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);
            if ((iVar3 != 0) &&
               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),
                iVar3 == 0 || (local_258[0] == '\0')))) {
              local_298 = auStack_248;
              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);
              if ((iVar3 != 0) &&
                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),
                 iVar4 != 0)) {
                iVar4 = FUN_00022050(local_298,iVar3,&local_260);
                if (iVar4 == iVar3) goto LAB_000265c4;
                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);
                goto LAB_00026268;
              }
            }
          }
          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);
          goto LAB_00026268;
        }
      }
      uVar13 = 0xffffffff;
    }
    else {
      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);
      uVar13 = 0;
    }
  }
LAB_00026268:
  do {
    while( true ) {
      while( true ) {
        while( true ) {
          while( true ) {
            while( true ) {
              if (local_2c == *(int *)puVar2) {
                return uVar13;
              }
              (*(code *)PTR___stack_chk_fail_0003f2b8)();
LAB_000265c4:
              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);
              if (iVar3 == 1) break;
LAB_00026264:
              uVar13 = 0;
            }
            local_288 = local_288 + -4;
            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);
            if (iVar3 != 0) break;
            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);
          }
          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);
          puVar9 = PTR_DAT_0003f05c;
          if (iVar4 != 0) break;
          (*(code *)PTR_free_0003f2f8)(iVar3);
        }
        puVar12 = (undefined1 *)param_2[2];
        if (local_280 == 0) {
          iVar4 = -(*param_2 + 7U & 0xfffffff8);
          (*(code *)param_2[4])(param_2[1]);
          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);
          (*(code *)param_2[5])(param_2[1],param_4,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);
          (*(code *)param_2[5])(param_2[1],param_3,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);
          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);
          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);
          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;
          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);
          local_288 = puVar12;
          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);
        }
        else {
          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;
          FUN_000259a4(puVar12,param_2,local_280,local_294);
        }
        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);
        param_3 = *param_2;
        local_280 = *(int *)(param_1 + 0x34);
        uVar5 = param_3 + 7U & 0xfffffff8;
        (*(code *)param_2[4])(param_2[1]);
        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;
        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);
        (*(code *)param_2[5])(param_2[1],local_280,uVar6);
        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);
        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);
        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));
        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);
        (*(code *)param_2[4])(param_2[1]);
        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);
        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);
        (*(code *)param_2[5])(param_2[1],local_294,uVar6);
        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        if (local_258[0] != '\0') {
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);
          (*(code *)param_2[5])(param_2[1],local_298,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);
          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);
          (*(code *)param_2[5])(param_2[1],local_290,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        }
        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);
        (*(code *)param_2[6])(param_2[1],local_27c);
        FUN_000255f0(local_27c,param_3,param_2[3]);
        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);
        unaff_s0 = *(int *)(param_1 + 0x38);
        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);
        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);
        param_4 = iVar3;
        if (iVar4 == 0) break;
        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);
        (*(code *)PTR_free_0003f2f8)(iVar3);
        local_278 = auStack_2c0 + iVar7 + iVar1;
      }
      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);
      if (iVar4 == 0) {
        puVar9 = PTR_DAT_0003f05c + -0x47bc;
      }
      else {
        puVar9 = (undefined *)(iVar4 + 1);
      }
      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);
      if (iVar4 != 0) break;
      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);
      unaff_s0 = 0;
LAB_00026b0c:
      uVar13 = 0;
      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);
      (*(code *)PTR_free_0003f2f8)(iVar3);
      local_278 = auStack_2c0 + iVar7 + iVar1;
    }
    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;
    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);
    (*(code *)PTR_free_0003f2f8)(iVar4);
    if (unaff_s0 != 1) goto LAB_00026b0c;
    iVar4 = local_264;
    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {
      if (piVar8[3] == 8) {
        iVar4 = iVar4 + -1;
        local_264 = iVar4;
      }
    }
    if (iVar4 != 0) goto LAB_00026b0c;
    (*(code *)PTR_free_0003f2f8)(iVar3);
    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);
    uVar13 = (uint)(iVar3 == 0);
    local_278 = auStack_2c0 + iVar7 + iVar1;
  } while( true );
}


lui gp,0x2
addiu gp,gp,0xec0
addu gp,gp,t9
addiu sp,sp,-0x2c0
lw t9,-0x7ee4(gp)
sw s8,0x2b8(sp)
or s8,sp,zero
sw s6,0x2b0(sp)
or s6,a2,zero
sw s5,0x2ac(sp)
or s5,a3,zero
sw s3,0x2a4(sp)
or s3,a0,zero
sw s2,0x2a0(sp)
or s2,a1,zero
sw s1,0x29c(sp)
sw gp,0x20(sp)
sw ra,0x2bc(sp)
sw s7,0x2b4(sp)
sw s4,0x2a8(sp)
sw s0,0x298(sp)
lw v1,0x0(a1)
li a1,0x1
lw v0,0x2d0(s8)
lw s1,-0x7d44(gp)
sll v1,v1,0x1
lw a2,-0x7fd4(gp)
sw v0,0x44(s8)
addiu a3,v1,0x8
lw v0,0x2d4(s8)
lw t0,0x0(s1)
addiu a2,a2,-0x2634
srl a3,a3,0x3
lw s7,0x18(a0)
sw v0,0x40(s8)
addiu v0,v1,0x10
sll a3,a3,0x3
sw t0,0x294(s8)
srl v0,v0,0x3
subu sp,sp,a3
addiu v1,v1,0x1
sll v0,v0,0x3
sw v1,0x48(s8)
addiu v1,sp,0x20
subu sp,sp,v0
jalr t9
_sw v1,0x50(s8)
addiu v1,sp,0x20
lw gp,0x20(s8)
beq v0,zero,0x00026264
_sw v1,0x4c(s8)
lw a1,-0x7fd4(gp)
li a2,0x7
lw t9,-0x7ebc(gp)
or a0,v0,zero
or s0,v0,zero
jalr t9
_addiu a1,a1,-0x2624
lw gp,0x20(s8)
beq v0,zero,0x000262b0
_or s4,v0,zero
or s4,zero,zero
lw a0,0x294(s8)
or v0,s4,zero
lw v1,0x0(s1)
bne a0,v1,0x000265bc
_lw t9,-0x7d78(gp)
or sp,s8,zero
lw ra,0x2bc(sp)
lw s8,0x2b8(sp)
lw s7,0x2b4(sp)
lw s6,0x2b0(sp)
lw s5,0x2ac(sp)
lw s4,0x2a8(sp)
lw s3,0x2a4(sp)
lw s2,0x2a0(sp)
lw s1,0x29c(sp)
lw s0,0x298(sp)
jr ra
_addiu sp,sp,0x2c0
lw t9,-0x7e08(gp)
addiu s0,s0,0x7
addiu v0,s8,0x194
or a0,s0,zero
jalr t9
_sw v0,0x54(s8)
li a1,0x80
lw gp,0x20(s8)
or a2,s0,zero
lw a0,0x54(s8)
sw v0,0x34(s8)
lw v0,-0x7fac(gp)
lw a3,-0x7fd4(gp)
addiu t9,v0,0x5b8c
addiu a3,a3,-0x261c
bal 0x00025b8c
_sw t9,0x3c(s8)
lw gp,0x20(s8)
beq v0,zero,0x00026268
_sw v0,0x38(s8)
lw t9,-0x7d08(gp)
or a0,s5,zero
jalr t9
_lw a1,0x54(s8)
bne v0,zero,0x00026268
_lw gp,0x20(s8)
lw a3,-0x7fd4(gp)
li a1,0x100
lw s4,0x54(s8)
or a2,s0,zero
lw t9,0x3c(s8)
addiu a3,a3,-0x2610
jalr t9
_or a0,s4,zero
lw gp,0x20(s8)
beq v0,zero,0x00026264
_sw v0,0x30(s8)
lw t9,-0x7d08(gp)
or a1,s4,zero
jalr t9
_or a0,s6,zero
lw gp,0x20(s8)
or s4,v0,zero
bne v0,zero,0x00026264
_lw t0,0x30(s8)
lw a3,-0x7fd4(gp)
addiu v0,s8,0x8c
lw t9,0x3c(s8)
li a1,0x81
sw t0,0x30(s8)
or a2,s0,zero
addiu a3,a3,-0x2608
sw v0,0x2c(s8)
jalr t9
_or a0,v0,zero
beq v0,zero,0x00026264
_lw gp,0x20(s8)
lw a0,0x34(s8)
lw a1,0x38(s8)
lw t0,0x30(s8)
addiu a0,a0,-0xd
subu v1,a0,a1
ori a1,zero,0x8001
subu v1,v1,t0
subu a0,v1,v0
sw a0,0x38(s8)
addiu a0,a0,-0x5
sltu a0,a0,a1
beq a0,zero,0x00026264
_lw v1,0x2c(s8)
addiu v0,v0,-0x8
lw t9,-0x7f2c(gp)
addiu a2,s8,0x58
li a1,0x8
bal 0x00021e94
_addu a0,v1,v0
li a0,0x8
beq v0,a0,0x00026408
_lw gp,0x20(s8)
lw a1,-0x7fd4(gp)
or a0,s7,zero
lw t9,-0x7fc4(gp)
bal 0x00020df0
_addiu a1,a1,-0x2600
b 0x00026268
_lw gp,0x20(s8)
lw t9,-0x7fcc(gp)
bal 0x0002186c
_nop
lw a0,0x58(s8)
lw v1,0x2d8(s8)
addu v1,a0,v1
sltu v0,v1,v0
bne v0,zero,0x00026598
_lw gp,0x20(s8)
sltu v1,v1,a0
bne v1,zero,0x00026598
_lw t9,-0x7fac(gp)
lw s4,0x4c(s8)
lw a2,0x144(s7)
lw a1,0x34(s3)
lw a3,0x164(s7)
sw s4,0x1c(sp)
sw s2,0x18(sp)
sw s6,0x14(sp)
addiu t9,t9,0x5760
lw v0,0x38(s3)
bal 0x00025760
_sw v0,0x10(sp)
or a1,s4,zero
lw gp,0x20(s8)
lw t9,-0x7d08(gp)
jalr t9
_lw a0,0x2c(s8)
lw gp,0x20(s8)
bne v0,zero,0x00026598
_or s4,v0,zero
lw a3,-0x7fd4(gp)
addiu v0,s8,0x110
lw t9,0x3c(s8)
li a1,0x81
sw v0,0x34(s8)
or a2,s0,zero
addiu a3,a3,-0x25cc
jalr t9
_or a0,v0,zero
beq v0,zero,0x000265a0
_lw gp,0x20(s8)
lw a3,-0x7fd4(gp)
addiu v0,s8,0x68
lw t9,0x3c(s8)
li a1,0xf
or a2,s0,zero
sw v0,0x30(s8)
addiu a3,a3,-0x259c
jalr t9
_or a0,v0,zero
beq v0,zero,0x000265a0
_lw gp,0x20(s8)
lw a1,-0x7fd4(gp)
lw t9,-0x7d08(gp)
lw a0,0x30(s8)
jalr t9
_addiu a1,a1,-0x2598
beq v0,zero,0x00026504
_lw gp,0x20(s8)
lbu v0,0x68(s8)
bne v0,zero,0x000265a4
_lw a1,-0x7fd4(gp)
lw a3,-0x7fd4(gp)
addiu v0,s8,0x78
lw t9,0x3c(s8)
li a1,0x14
or a2,s0,zero
sw v0,0x28(s8)
addiu a3,a3,-0x2590
jalr t9
_or a0,v0,zero
lw gp,0x20(s8)
beq v0,zero,0x000265a0
_sw v0,0x4c(s8)
lw a3,-0x7fd4(gp)
li a1,0x100
lw a0,0x54(s8)
or a2,s0,zero
lw t9,0x3c(s8)
jalr t9
_addiu a3,a3,-0x258c
beq v0,zero,0x000265a0
_lw gp,0x20(s8)
lw t0,0x4c(s8)
addiu a2,s8,0x60
lw t9,-0x7f30(gp)
lw a0,0x28(s8)
bal 0x00022050
_or a1,t0,zero
lw t0,0x4c(s8)
beq v0,t0,0x000265c4
_lw gp,0x20(s8)
lw a1,-0x7fd4(gp)
or a0,s7,zero
lw t9,-0x7fc4(gp)
bal 0x00020df0
_addiu a1,a1,-0x2580
b 0x00026268
_lw gp,0x20(s8)
b 0x00026268
_li s4,-0x1
lw a1,-0x7fd4(gp)
or a0,s7,zero
lw t9,-0x7fc4(gp)
bal 0x00020df0
_addiu a1,a1,-0x25c4
b 0x00026268
_lw gp,0x20(s8)
jalr t9
_nop
lw t9,-0x7fac(gp)
lw a0,0x18(s3)
lw a1,0x2c(s8)
lw a3,0x64(s8)
addiu t9,t9,0x5dc4
bal 0x00025dc4
_lw a2,0x60(s8)
li a0,0x1
bne v0,a0,0x00026264
_lw gp,0x20(s8)
lw v0,0x38(s8)
lw t9,-0x7dd4(gp)
addiu a1,v0,-0x4
or a0,a1,zero
jalr t9
_sw a1,0x38(s8)
lw gp,0x20(s8)
lw a1,0x38(s8)
beq v0,zero,0x00026b88
_sw v0,0x4c(s8)
lw a3,-0x7fd4(gp)
or a2,s0,zero
lw a0,0x4c(s8)
lw t9,0x3c(s8)
jalr t9
_addiu a3,a3,-0x251c
beq v0,zero,0x00026b74
_lw gp,0x20(s8)
lw a2,0x40(s8)
beq a2,zero,0x000269a4
_lw t0,0x8(s2)
lw t9,-0x7fac(gp)
or a1,s2,zero
lw v0,0x34(s8)
or a0,t0,zero
lw a3,0x2c(s8)
addiu t9,t9,0x59a4
lw s0,-0x7fd4(gp)
bal 0x000259a4
_sw v0,0x10(sp)
lw gp,0x20(s8)
lw t9,-0x7d40(gp)
lw a2,0x48(s8)
lw a1,0xc(s2)
jalr t9
_lw a0,0x50(s8)
lw s6,0x0(s2)
lw a1,0x34(s3)
lw t9,0x10(s2)
addiu v0,s6,0x7
lw a0,0x4(s2)
sw sp,0x48(s8)
srl v0,v0,0x3
sw a1,0x44(s8)
sll v0,v0,0x3
subu sp,sp,v0
addiu s5,sp,0x20
jalr t9
_subu sp,sp,v0
addiu v0,sp,0x20
lw gp,0x20(s8)
lw a1,0x44(s8)
sw v0,0x44(s8)
sw a1,0x40(s8)
lw t9,-0x7e08(gp)
jalr t9
_or a0,a1,zero
lw a1,0x40(s8)
or a2,v0,zero
lw t9,0x14(s2)
jalr t9
_lw a0,0x4(s2)
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lw gp,0x20(s8)
lw t9,-0x7e08(gp)
jalr t9
_lw a0,0x4c(s8)
lw a1,0x4c(s8)
or a2,v0,zero
lw t9,0x14(s2)
jalr t9
_lw a0,0x4(s2)
or a1,s5,zero
lw t9,0x18(s2)
jalr t9
_lw a0,0x4(s2)
or a0,s5,zero
lw gp,0x20(s8)
lw a2,0xc(s2)
lw s5,-0x7fac(gp)
addiu s5,s5,0x55f0
or t9,s5,zero
bal 0x000255f0
_lw a1,0x0(s2)
lw t9,0x10(s2)
jalr t9
_lw a0,0x4(s2)
lw a2,0x0(s2)
lw a1,0x50(s8)
lw t9,0x14(s2)
lw a0,0x4(s2)
jalr t9
_sll a2,a2,0x1
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lw gp,0x20(s8)
lw t9,-0x7e08(gp)
jalr t9
_lw a0,0x2c(s8)
lw a1,0x2c(s8)
or a2,v0,zero
lw t9,0x14(s2)
jalr t9
_lw a0,0x4(s2)
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lb v0,0x68(s8)
beq v0,zero,0x0002686c
_lw gp,0x20(s8)
lw t9,-0x7e08(gp)
jalr t9
_lw a0,0x28(s8)
lw a1,0x28(s8)
or a2,v0,zero
lw t9,0x14(s2)
jalr t9
_lw a0,0x4(s2)
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lw gp,0x20(s8)
lw t9,-0x7e08(gp)
jalr t9
_lw a0,0x34(s8)
lw a1,0x34(s8)
or a2,v0,zero
lw t9,0x14(s2)
jalr t9
_lw a0,0x4(s2)
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lw gp,0x20(s8)
lw t9,-0x7e08(gp)
jalr t9
_lw a0,0x30(s8)
lw a1,0x30(s8)
or a2,v0,zero
lw t9,0x14(s2)
jalr t9
_lw a0,0x4(s2)
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lw a2,0x0(s2)
lw t9,0x14(s2)
lw a1,0xc(s2)
lw a0,0x4(s2)
jalr t9
_sll a2,a2,0x1
lw s0,0x44(s8)
lw t9,0x18(s2)
lw a0,0x4(s2)
jalr t9
_or a1,s0,zero
or a0,s0,zero
lw a2,0xc(s2)
or t9,s5,zero
bal 0x000255f0
_or a1,s6,zero
or a1,s3,zero
lw s5,0x4c(s8)
lw sp,0x48(s8)
lw t9,0x60(s7)
lw a0,0x64(s7)
jalr t9
_or a2,s5,zero
lw gp,0x20(s8)
lw s0,0x38(s3)
lw t9,-0x7e08(gp)
jalr t9
_or a0,s0,zero
or a1,s0,zero
lw gp,0x20(s8)
or a2,v0,zero
lw t9,-0x7ebc(gp)
jalr t9
_or a0,s5,zero
bne v0,zero,0x00026b48
_lw gp,0x20(s8)
lw t9,-0x7dfc(gp)
li a1,0x3f
jalr t9
_lw a0,0x4c(s8)
beq v0,zero,0x00026b3c
_lw gp,0x20(s8)
addiu a0,v0,0x1
lw t9,-0x7d3c(gp)
jalr t9
_nop
lw gp,0x20(s8)
beq v0,zero,0x00026af4
_or s0,v0,zero
lw a3,-0x7fac(gp)
addiu v0,s8,0x5c
lw t9,-0x7f34(gp)
li a1,0x8
or a2,s0,zero
sw v0,0x10(sp)
addiu a3,a3,0x5688
bal 0x00020fd0
_or a0,s3,zero
or a0,s0,zero
lw gp,0x20(s8)
lw t9,-0x7d38(gp)
jalr t9
_or s0,v0,zero
li v1,0x1
bne s0,v1,0x00026b0c
_lw gp,0x20(s8)
lw v1,0x1c(s3)
li a0,0x8
lw v0,0x5c(s8)
beq v1,zero,0x00026ac4
_nop
lw a1,0xc(v1)
bne a1,a0,0x0002699c
_nop
addiu v0,v0,-0x1
sw v0,0x5c(s8)
b 0x00026980
_lw v1,0x0(v1)
lw v0,0x0(s2)
or t1,sp,zero
lw t9,0x10(s2)
lw a0,0x4(s2)
addiu v0,v0,0x7
lw s0,-0x7fd4(gp)
sw t1,0x3c(s8)
srl v0,v0,0x3
sw t0,0x38(s8)
sll v0,v0,0x3
jalr t9
_subu sp,sp,v0
addiu v0,sp,0x20
lw gp,0x20(s8)
or a0,s5,zero
lw t9,-0x7e08(gp)
jalr t9
_sw v0,0x40(s8)
or a1,s5,zero
lw t9,0x14(s2)
or a2,v0,zero
jalr t9
_lw a0,0x4(s2)
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lw gp,0x20(s8)
lw t9,-0x7e08(gp)
jalr t9
_or a0,s6,zero
or a1,s6,zero
lw t9,0x14(s2)
or a2,v0,zero
jalr t9
_lw a0,0x4(s2)
li a2,0x1
lw t9,0x14(s2)
addiu a1,s0,-0x26d0
jalr t9
_lw a0,0x4(s2)
lw gp,0x20(s8)
lw s6,0x44(s8)
lw t9,-0x7e08(gp)
jalr t9
_or a0,s6,zero
or a1,s6,zero
lw t9,0x14(s2)
or a2,v0,zero
jalr t9
_lw a0,0x4(s2)
lw s5,0x40(s8)
lw t9,0x18(s2)
lw a0,0x4(s2)
jalr t9
_or a1,s5,zero
or a2,s5,zero
lw gp,0x20(s8)
or a1,s2,zero
lw v0,0x34(s8)
lw a3,0x2c(s8)
lw t9,-0x7fac(gp)
sw v0,0x10(sp)
lw t0,0x38(s8)
addiu t9,t9,0x59a4
bal 0x000259a4
_or a0,t0,zero
lw gp,0x20(s8)
lw t1,0x3c(s8)
b 0x00026668
_or sp,t1,zero
bne v0,zero,0x00026b0c
_lw t9,-0x7d38(gp)
jalr t9
_lw a0,0x4c(s8)
lw gp,0x20(s8)
lw a0,0x54(s8)
lw t9,-0x7d08(gp)
jalr t9
_lw a1,0xc(s2)
lw gp,0x20(s8)
b 0x00026268
_sltiu s4,v0,0x1
lw a1,-0x7fd4(gp)
lw t9,-0x7fc4(gp)
lw a0,0x18(s3)
bal 0x00020df0
_addiu a1,a1,-0x24ec
lw gp,0x20(s8)
lw a1,-0x7fd4(gp)
or a0,s7,zero
lw t9,-0x7fc4(gp)
or s4,zero,zero
bal 0x00020df0
_addiu a1,a1,-0x24b4
lw gp,0x20(s8)
lw t9,-0x7d38(gp)
jalr t9
_lw a0,0x4c(s8)
b 0x00026268
_lw gp,0x20(s8)
lw a0,-0x7fd4(gp)
b 0x00026918
_addiu a0,a0,-0x47bc
lw a1,-0x7fd4(gp)
or a0,s7,zero
lw t9,-0x7fc4(gp)
bal 0x00020df0
_addiu a1,a1,-0x2518
lw gp,0x20(s8)
lw t9,-0x7d38(gp)
jalr t9
_lw a0,0x4c(s8)
b 0x00026268
_lw gp,0x20(s8)
lw t9,-0x7d38(gp)
jalr t9
_lw a0,0x4c(s8)
b 0x00026268
_lw gp,0x20(s8)
lw a1,-0x7fd4(gp)
or a0,s7,zero
lw t9,-0x7fc4(gp)
bal 0x00020df0
_addiu a1,a1,-0x2554
b 0x00026268
_lw gp,0x20(s8)
(translation_unit "uint FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}\n\n" (function_definition "uint FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}" type_identifier (function_declarator "FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)" identifier (parameter_list "(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined1 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int param_7" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int unaff_s0;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 auStack_2c0 [16];" type_identifier (array_declarator "auStack_2c0 [16]" identifier [ number_literal ]) ;) (declaration "int aiStack_2b0 [4];" primitive_type (array_declarator "aiStack_2b0 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_298;" type_identifier (pointer_declarator "*local_298" * identifier) ;) (declaration "undefined1 *local_294;" type_identifier (pointer_declarator "*local_294" * identifier) ;) (declaration "char *local_290;" primitive_type (pointer_declarator "*local_290" * identifier) ;) (declaration "undefined1 *local_28c;" type_identifier (pointer_declarator "*local_28c" * identifier) ;) (declaration "undefined1 *local_288;" type_identifier (pointer_declarator "*local_288" * identifier) ;) (declaration "code *local_284;" type_identifier (pointer_declarator "*local_284" * identifier) ;) (declaration "int local_280;" primitive_type identifier ;) (declaration "undefined1 *local_27c;" type_identifier (pointer_declarator "*local_27c" * identifier) ;) (declaration "undefined1 *local_278;" type_identifier (pointer_declarator "*local_278" * identifier) ;) (declaration "undefined1 *local_26c;" type_identifier (pointer_declarator "*local_26c" * identifier) ;) (declaration "uint local_268;" type_identifier identifier ;) (declaration "int local_264;" primitive_type identifier ;) (declaration "undefined4 local_260;" type_identifier identifier ;) (declaration "undefined4 local_25c;" type_identifier identifier ;) (declaration "char local_258 [16];" primitive_type (array_declarator "local_258 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_248 [12];" type_identifier (array_declarator "auStack_248 [12]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_23c [8];" type_identifier (array_declarator "auStack_23c [8]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_234 [132];" type_identifier (array_declarator "auStack_234 [132]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_1b0 [132];" type_identifier (array_declarator "auStack_1b0 [132]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_12c [256];" type_identifier (array_declarator "auStack_12c [256]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0003f2ec;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0003f2ec" identifier = identifier) ;) (expression_statement "iVar7 = *param_2 * 2;" (assignment_expression "iVar7 = *param_2 * 2" identifier = (binary_expression "*param_2 * 2" (pointer_expression "*param_2" * identifier) * number_literal)) ;) (expression_statement "local_27c = param_5;" (assignment_expression "local_27c = param_5" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003f2ec" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003f2ec" * (cast_expression "(int *)PTR___stack_chk_guard_0003f2ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar14 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar14 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_280 = param_6;" (assignment_expression "local_280 = param_6" identifier = identifier) ;) (expression_statement "iVar1 = -(iVar7 + 8U & 0xfffffff8);" (assignment_expression "iVar1 = -(iVar7 + 8U & 0xfffffff8)" identifier = (unary_expression "-(iVar7 + 8U & 0xfffffff8)" - (parenthesized_expression "(iVar7 + 8U & 0xfffffff8)" ( (binary_expression "iVar7 + 8U & 0xfffffff8" (binary_expression "iVar7 + 8U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "local_278 = (undefined1 *)(iVar7 + 1);" (assignment_expression "local_278 = (undefined1 *)(iVar7 + 1)" identifier = (cast_expression "(undefined1 *)(iVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar7 = -(iVar7 + 0x10U & 0xfffffff8);" (assignment_expression "iVar7 = -(iVar7 + 0x10U & 0xfffffff8)" identifier = (unary_expression "-(iVar7 + 0x10U & 0xfffffff8)" - (parenthesized_expression "(iVar7 + 0x10U & 0xfffffff8)" ( (binary_expression "iVar7 + 0x10U & 0xfffffff8" (binary_expression "iVar7 + 0x10U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);" (assignment_expression "iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634)" identifier = (call_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634)" (parenthesized_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)" ( (pointer_expression "*(code *)PTR_MHD_lookup_connection_value_0003f14c" * (cast_expression "(code *)PTR_MHD_lookup_connection_value_0003f14c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,1,PTR_DAT_0003f05c + -0x2634)" ( identifier , number_literal , (binary_expression "PTR_DAT_0003f05c + -0x2634" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00026264;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7)" identifier = (call_expression "(*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" ( (pointer_expression "*(code *)PTR_strncmp_0003f174" * (cast_expression "(code *)PTR_strncmp_0003f174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,PTR_DAT_0003f05c + -0x2624,7)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2624" identifier + number_literal) , number_literal )))) ;) (expression_statement "unaff_s0 = iVar3;" (assignment_expression "unaff_s0 = iVar3" identifier = identifier) ;) (if_statement "if (iVar4 != 0) goto LAB_00026264;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "unaff_s0 = iVar3 + 7;" (assignment_expression "unaff_s0 = iVar3 + 7" identifier = (binary_expression "iVar3 + 7" identifier + number_literal)) ;) (expression_statement "local_26c = auStack_12c;" (assignment_expression "local_26c = auStack_12c" identifier = identifier) ;) (expression_statement "local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))))) ;) (expression_statement "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);" (assignment_expression "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c)" identifier = (cast_expression "(code *)(PTR_LAB_0003f084 + 0x5b8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0003f084 + 0x5b8c)" ( (binary_expression "PTR_LAB_0003f084 + 0x5b8c" identifier + number_literal) )))) ;) (expression_statement "local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);" (assignment_expression "local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" identifier = (cast_expression "(undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" identifier (argument_list "(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x261c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" if (parenthesized_expression "((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0))" ( (binary_expression "(local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)" (parenthesized_expression "(local_288 != (undefined1 *)0x0)" ( (binary_expression "local_288 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(param_4,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,local_26c)" ( identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" { (expression_statement "local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);" (assignment_expression "local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" identifier = (cast_expression "(char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2610" identifier + number_literal) ))))) ;) (if_statement "if (local_290 == (char *)0x0) goto LAB_00026264;" if (parenthesized_expression "(local_290 == (char *)0x0)" ( (binary_expression "local_290 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(param_3,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,local_26c)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00026264;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "local_294 = auStack_234;" (assignment_expression "local_294 = auStack_234" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);" (assignment_expression "iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" identifier = (call_expression "(*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2608" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00026264;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);" (assignment_expression "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3)" identifier = (binary_expression "local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3)" identifier + (parenthesized_expression "(((-0xd - (int)local_288) - (int)local_290) - iVar3)" ( (binary_expression "((-0xd - (int)local_288) - (int)local_290) - iVar3" (parenthesized_expression "((-0xd - (int)local_288) - (int)local_290)" ( (binary_expression "(-0xd - (int)local_288) - (int)local_290" (parenthesized_expression "(-0xd - (int)local_288)" ( (binary_expression "-0xd - (int)local_288" number_literal - (cast_expression "(int)local_288" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (cast_expression "(int)local_290" ( (type_descriptor "int" primitive_type) ) identifier)) )) - identifier) )))) ;) (if_statement "if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;" if (parenthesized_expression "((undefined1 *)0x8000 < local_288 + -5)" ( (binary_expression "(undefined1 *)0x8000 < local_288 + -5" (cast_expression "(undefined1 *)0x8000" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "local_288 + -5" identifier + number_literal)) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);" (assignment_expression "iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268)" identifier = (call_expression "FUN_00021e94(local_294 + iVar3 + -8,8,&local_268)" identifier (argument_list "(local_294 + iVar3 + -8,8,&local_268)" ( (binary_expression "local_294 + iVar3 + -8" (binary_expression "local_294 + iVar3" identifier + identifier) + number_literal) , number_literal , (pointer_expression "&local_268" & identifier) )))) ;) (if_statement "if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" if (parenthesized_expression "(iVar3 == 8)" ( (binary_expression "iVar3 == 8" identifier == number_literal) )) (compound_statement "{\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }" { (expression_statement "uVar13 = FUN_0002186c();" (assignment_expression "uVar13 = FUN_0002186c()" identifier = (call_expression "FUN_0002186c()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" if (parenthesized_expression "((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7))" ( (binary_expression "(uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)" (parenthesized_expression "(uVar13 <= local_268 + param_7)" ( (binary_expression "uVar13 <= local_268 + param_7" identifier <= (binary_expression "local_268 + param_7" identifier + identifier)) )) && (parenthesized_expression "(local_268 <= local_268 + param_7)" ( (binary_expression "local_268 <= local_268 + param_7" identifier <= (binary_expression "local_268 + param_7" identifier + identifier)) ))) )) (compound_statement "{\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" { (expression_statement "uVar10 = *(undefined4 *)(iVar14 + 0x144);" (assignment_expression "uVar10 = *(undefined4 *)(iVar14 + 0x144)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x144)" * (cast_expression "(undefined4 *)(iVar14 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x144)" ( (binary_expression "iVar14 + 0x144" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "uVar6 = *(undefined4 *)(param_1 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(iVar14 + 0x164);" (assignment_expression "uVar11 = *(undefined4 *)(iVar14 + 0x164)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x164)" * (cast_expression "(undefined4 *)(iVar14 + 0x164)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x164)" ( (binary_expression "iVar14 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" * (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 0xc" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = (binary_expression "&stack0xfffffd60 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar7" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier)) ;) (expression_statement "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;" (assignment_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2" (pointer_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8)" * (cast_expression "(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 8)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 8" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;" (assignment_expression "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3" (pointer_expression "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4)" * (cast_expression "(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 4)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 4" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38)" (pointer_expression "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1)" * (cast_expression "(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "FUN_00025760(local_268,uVar6,uVar10,uVar11);" (call_expression "FUN_00025760(local_268,uVar6,uVar10,uVar11)" identifier (argument_list "(local_268,uVar6,uVar10,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_294,&stack0xfffffd60 + iVar7 + iVar1)" ( identifier , (binary_expression "&stack0xfffffd60 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar7" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" { (expression_statement "local_28c = auStack_1b0;" (assignment_expression "local_28c = auStack_1b0" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);" (assignment_expression "iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" identifier = (call_expression "(*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x25cc" identifier + number_literal) )))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" { (expression_statement "local_290 = local_258;" (assignment_expression "local_290 = local_258" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);" (assignment_expression "iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" identifier = (call_expression "(*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x259c" identifier + number_literal) )))) ;) (if_statement "if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" if (parenthesized_expression "((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0'))))" ( (binary_expression "(iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))" ( (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0'))" ( (comma_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_290,PTR_DAT_0003f05c + -0x2598)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2598" identifier + number_literal) )))) , (binary_expression "iVar3 == 0 || (local_258[0] == '\0')" (binary_expression "iVar3 == 0" identifier == number_literal) || (parenthesized_expression "(local_258[0] == '\0')" ( (binary_expression "local_258[0] == '\0'" (subscript_expression "local_258[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )))) )) ))) )) (compound_statement "{\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" { (expression_statement "local_298 = auStack_248;" (assignment_expression "local_298 = auStack_248" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);" (assignment_expression "iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" identifier = (call_expression "(*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2590" identifier + number_literal) )))) ;) (if_statement "if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" if (parenthesized_expression "((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0))" ( (binary_expression "(iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" ( (comma_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0" (assignment_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" identifier = (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x258c" identifier + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" { (expression_statement "iVar4 = FUN_00022050(local_298,iVar3,&local_260);" (assignment_expression "iVar4 = FUN_00022050(local_298,iVar3,&local_260)" identifier = (call_expression "FUN_00022050(local_298,iVar3,&local_260)" identifier (argument_list "(local_298,iVar3,&local_260)" ( identifier , identifier , (pointer_expression "&local_260" & identifier) )))) ;) (if_statement "if (iVar4 == iVar3) goto LAB_000265c4;" if (parenthesized_expression "(iVar4 == iVar3)" ( (binary_expression "iVar4 == iVar3" identifier == identifier) )) (goto_statement "goto LAB_000265c4;" goto statement_identifier ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2580)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2580" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00026268;" goto statement_identifier ;) })) })) })) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x25c4)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x25c4" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00026268;" goto statement_identifier ;) })) })) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" else (compound_statement "{\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" { (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2600)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2600" identifier + number_literal) ))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) })) (labeled_statement "LAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }" { (while_statement "while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }" { (while_statement "while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }" { (while_statement "while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }" { (while_statement "while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" { (if_statement "if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n                return uVar13;\n              }" { (return_statement "return uVar13;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f2b8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003f2b8" * (cast_expression "(code *)PTR___stack_chk_fail_0003f2b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);" statement_identifier : (expression_statement "iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);" (assignment_expression "iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" identifier = (call_expression "FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x18)" * (cast_expression "(undefined4 *)(param_1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) , identifier , identifier , identifier )))) ;)) (if_statement "if (iVar3 == 1) break;" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00026264:\n              uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) })) (expression_statement "local_288 = local_288 + -4;" (assignment_expression "local_288 = local_288 + -4" identifier = (binary_expression "local_288 + -4" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288)" identifier = (call_expression "(*(code *)PTR_malloc_0003f25c)(local_288)" (parenthesized_expression "(*(code *)PTR_malloc_0003f25c)" ( (pointer_expression "*(code *)PTR_malloc_0003f25c" * (cast_expression "(code *)PTR_malloc_0003f25c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_288)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2554)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2554" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);" (assignment_expression "iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" identifier = (call_expression "(*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" ( identifier , identifier , identifier , (binary_expression "PTR_DAT_0003f05c + -0x251c" identifier + number_literal) )))) ;) (expression_statement "puVar9 = PTR_DAT_0003f05c;" (assignment_expression "puVar9 = PTR_DAT_0003f05c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) })) (expression_statement "puVar12 = (undefined1 *)param_2[2];" (assignment_expression "puVar12 = (undefined1 *)param_2[2]" identifier = (cast_expression "(undefined1 *)param_2[2]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" if (parenthesized_expression "(local_280 == 0)" ( (binary_expression "local_280 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }" { (expression_statement "iVar4 = -(*param_2 + 7U & 0xfffffff8);" (assignment_expression "iVar4 = -(*param_2 + 7U & 0xfffffff8)" identifier = (unary_expression "-(*param_2 + 7U & 0xfffffff8)" - (parenthesized_expression "(*param_2 + 7U & 0xfffffff8)" ( (binary_expression "*param_2 + 7U & 0xfffffff8" (binary_expression "*param_2 + 7U" (pointer_expression "*param_2" * identifier) + number_literal) & number_literal) )))) ;) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" ( (pointer_expression "*(code *)param_2[4]" * (cast_expression "(code *)param_2[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) )) (argument_list "(param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(param_4)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(param_4)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],param_4,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],param_4,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],param_4,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],param_3,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],param_3,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],param_3,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_27c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_27c)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_27c,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_27c,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_27c,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);" (call_expression "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1)" (parenthesized_expression "(*(code *)param_2[6])" ( (pointer_expression "*(code *)param_2[6]" * (cast_expression "(code *)param_2[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "&stack0xfffffd60 + iVar4 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar7" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) + identifier) ))) ;) (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" * (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar4 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar4 + iVar7" (binary_expression "(int)aiStack_2b0 + iVar4" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);" (call_expression "FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294)" identifier (argument_list "(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294)" ( identifier , identifier , (binary_expression "&stack0xfffffd60 + iVar4 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar7" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) + identifier) , identifier ))) ;) (expression_statement "local_288 = puVar12;" (assignment_expression "local_288 = puVar12" identifier = identifier) ;) (expression_statement "local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);" (assignment_expression "local_284 = (code *)(auStack_2c0 + iVar7 + iVar1)" identifier = (cast_expression "(code *)(auStack_2c0 + iVar7 + iVar1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_2c0 + iVar7 + iVar1)" ( (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier) )))) ;) }) (else_clause "else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" else (compound_statement "{\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" { (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1)" * (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "FUN_000259a4(puVar12,param_2,local_280,local_294);" (call_expression "FUN_000259a4(puVar12,param_2,local_280,local_294)" identifier (argument_list "(puVar12,param_2,local_280,local_294)" ( identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);" (call_expression "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278)" (parenthesized_expression "(*(code *)PTR_memcpy_0003f2f0)" ( (pointer_expression "*(code *)PTR_memcpy_0003f2f0" * (cast_expression "(code *)PTR_memcpy_0003f2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&stack0xfffffd60 + iVar1,param_2[3],local_278)" ( (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "param_3 = *param_2;" (assignment_expression "param_3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_280 = *(int *)(param_1 + 0x34);" (assignment_expression "local_280 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = param_3 + 7U & 0xfffffff8;" (assignment_expression "uVar5 = param_3 + 7U & 0xfffffff8" identifier = (binary_expression "param_3 + 7U & 0xfffffff8" (binary_expression "param_3 + 7U" identifier + number_literal) & number_literal)) ;) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" ( (pointer_expression "*(code *)param_2[4]" * (cast_expression "(code *)param_2[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) )) (argument_list "(param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;" (assignment_expression "local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1" identifier = (binary_expression "&stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + uVar5 * -2 + iVar7" (binary_expression "&stack0xfffffd60 + uVar5 * -2" (pointer_expression "&stack0xfffffd60" & identifier) + (binary_expression "uVar5 * -2" identifier * number_literal)) + identifier) + identifier)) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_280)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_280)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_280)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_280,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_280,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_280,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],iVar3,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],iVar3,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],iVar3,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));" (call_expression "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5))" (parenthesized_expression "(*(code *)param_2[6])" ( (pointer_expression "*(code *)param_2[6]" * (cast_expression "(code *)param_2[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5))" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5)" (pointer_expression "&stack0xfffffd60" & identifier) + (parenthesized_expression "((iVar7 + iVar1) - uVar5)" ( (binary_expression "(iVar7 + iVar1) - uVar5" (parenthesized_expression "(iVar7 + iVar1)" ( (binary_expression "iVar7 + iVar1" identifier + identifier) )) - identifier) ))) ))) ;) (expression_statement "FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);" (call_expression "FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3])" identifier (argument_list "(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3])" ( (binary_expression "&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5)" (pointer_expression "&stack0xfffffd60" & identifier) + (parenthesized_expression "((iVar7 + iVar1) - uVar5)" ( (binary_expression "(iVar7 + iVar1) - uVar5" (parenthesized_expression "(iVar7 + iVar1)" ( (binary_expression "iVar7 + iVar1" identifier + identifier) )) - identifier) ))) , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" ( (pointer_expression "*(code *)param_2[4]" * (cast_expression "(code *)param_2[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) )) (argument_list "(param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);" (call_expression "(*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) , (binary_expression "*param_2 << 1" (pointer_expression "*param_2" * identifier) << number_literal) ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_294)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_294)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_294)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_294,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_294,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_294,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (if_statement "if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }" if (parenthesized_expression "(local_258[0] != '\0')" ( (binary_expression "local_258[0] != '\0'" (subscript_expression "local_258[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }" { (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_298)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_298)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_298)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_298,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_298,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_298,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_28c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28c)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_28c,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_28c,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_28c,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_290)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_290)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_290)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_290,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_290,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_290,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "(*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);" (call_expression "(*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],param_2[3],*param_2 << 1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , (binary_expression "*param_2 << 1" (pointer_expression "*param_2" * identifier) << number_literal) ))) ;) (expression_statement "(*(code *)param_2[6])(param_2[1],local_27c);" (call_expression "(*(code *)param_2[6])(param_2[1],local_27c)" (parenthesized_expression "(*(code *)param_2[6])" ( (pointer_expression "*(code *)param_2[6]" * (cast_expression "(code *)param_2[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_27c)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "FUN_000255f0(local_27c,param_3,param_2[3]);" (call_expression "FUN_000255f0(local_27c,param_3,param_2[3])" identifier (argument_list "(local_27c,param_3,param_2[3])" ( identifier , identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);" (call_expression "(**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3)" (parenthesized_expression "(**(code **)(iVar14 + 0x60))" ( (pointer_expression "**(code **)(iVar14 + 0x60)" * (pointer_expression "*(code **)(iVar14 + 0x60)" * (cast_expression "(code **)(iVar14 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x60)" ( (binary_expression "iVar14 + 0x60" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 100),param_1,iVar3)" ( (pointer_expression "*(undefined4 *)(iVar14 + 100)" * (cast_expression "(undefined4 *)(iVar14 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 100)" ( (binary_expression "iVar14 + 100" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "unaff_s0 = *(int *)(param_1 + 0x38);" (assignment_expression "unaff_s0 = *(int *)(param_1 + 0x38)" identifier = (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6)" identifier = (call_expression "(*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" ( (pointer_expression "*(code *)PTR_strncmp_0003f174" * (cast_expression "(code *)PTR_strncmp_0003f174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,unaff_s0,uVar6)" ( identifier , identifier , identifier )))) ;) (expression_statement "param_4 = iVar3;" (assignment_expression "param_4 = iVar3" identifier = identifier) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2518)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2518" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier)) ;) })) (expression_statement "iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);" (assignment_expression "iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f)" identifier = (call_expression "(*(code *)PTR_strchr_0003f234)(iVar3,0x3f)" (parenthesized_expression "(*(code *)PTR_strchr_0003f234)" ( (pointer_expression "*(code *)PTR_strchr_0003f234" * (cast_expression "(code *)PTR_strchr_0003f234" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0x3f)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }" { (expression_statement "puVar9 = PTR_DAT_0003f05c + -0x47bc;" (assignment_expression "puVar9 = PTR_DAT_0003f05c + -0x47bc" identifier = (binary_expression "PTR_DAT_0003f05c + -0x47bc" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" else (compound_statement "{\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" { (expression_statement "puVar9 = (undefined *)(iVar4 + 1);" (assignment_expression "puVar9 = (undefined *)(iVar4 + 1)" identifier = (cast_expression "(undefined *)(iVar4 + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) ;) }))) (expression_statement "iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);" (assignment_expression "iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9)" identifier = (call_expression "(*(code *)PTR_strdup_0003f2f4)(puVar9)" (parenthesized_expression "(*(code *)PTR_strdup_0003f2f4)" ( (pointer_expression "*(code *)PTR_strdup_0003f2f4" * (cast_expression "(code *)PTR_strdup_0003f2f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);" (call_expression "FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x18)" * (cast_expression "(undefined4 *)(param_1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) , (binary_expression "PTR_DAT_0003f05c + -0x24ec" identifier + number_literal) ))) ;) (expression_statement "unaff_s0 = 0;" (assignment_expression "unaff_s0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00026b0c:\n      uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x24b4)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x24b4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier)) ;) })) (expression_statement "*(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;" (assignment_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264" (pointer_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1)" * (cast_expression "(int **)((int)aiStack_2b0 + iVar7 + iVar1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) = (pointer_expression "&local_264" & identifier)) ;) (expression_statement "unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);" (assignment_expression "unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" identifier = (call_expression "FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" identifier (argument_list "(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" ( identifier , number_literal , identifier , (binary_expression "PTR_LAB_0003f084 + 0x5688" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar4);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar4)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) (if_statement "if (unaff_s0 != 1) goto LAB_00026b0c;" if (parenthesized_expression "(unaff_s0 != 1)" ( (binary_expression "unaff_s0 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00026b0c;" goto statement_identifier ;)) (expression_statement "iVar4 = local_264;" (assignment_expression "iVar4 = local_264" identifier = identifier) ;) (for_statement "for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }" for ( (assignment_expression "piVar8 = *(int **)(param_1 + 0x1c)" identifier = (pointer_expression "*(int **)(param_1 + 0x1c)" * (cast_expression "(int **)(param_1 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ; (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar8 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ) (compound_statement "{\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }" { (if_statement "if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }" if (parenthesized_expression "(piVar8[3] == 8)" ( (binary_expression "piVar8[3] == 8" (subscript_expression "piVar8[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "local_264 = iVar4;" (assignment_expression "local_264 = iVar4" identifier = identifier) ;) })) })) (if_statement "if (iVar4 != 0) goto LAB_00026b0c;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026b0c;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3])" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3])" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_26c,param_2[3])" ( identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar13 = (uint)(iVar3 == 0);" (assignment_expression "uVar13 = (uint)(iVar3 == 0)" identifier = (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )))) ;) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */\n/* WARNING: Enum "gnutls_pk_algorithm_t": Some values do not have unique names */\n/* WARNING: Enum "gnutls_certificate_type_t": Some values do not have unique names */\n\nint digest_auth_check_all\n              (MHD_Connection *connection,DigestAlgorithm *da,char *realm,char *username,\n              char *password,uint8_t *digest,uint nonce_timeout)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  char *pcVar3;\n  int iVar4;\n  size_t sVar5;\n  uint8_t *puVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  int iVar9;\n  MHD_HTTP_Header *pMVar10;\n  undefined *puVar11;\n  char *rnd;\n  int iVar12;\n  uint8_t *alg;\n  char *unaff_s0;\n  uint uVar13;\n  MHD_Daemon *daemon;\n  undefined1 auStack_2c0 [16];\n  undefined8 uStack_2b0;\n  int aiStack_2a8 [2];\n  uint8_t *local_298;\n  uint8_t *local_294;\n  uint8_t *local_290;\n  uint8_t *local_28c;\n  uint8_t *local_288;\n  code *local_284;\n  uint8_t *local_280;\n  uchar *local_27c;\n  undefined1 *local_278;\n  char *local_26c;\n  uint32_t nonce_time;\n  uint num_headers;\n  uint64_t nci;\n  char qop [15];\n  char nc [20];\n  char nonce [129];\n  char cnonce [129];\n  char response [256];\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar9 = da->digest_size * 2;\n  local_27c = (uchar *)password;\n  iVar12 = *(int *)PTR___stack_chk_guard_0003f2ec;\n  daemon = connection->daemon;\n  local_280 = digest;\n  iVar1 = -(iVar9 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar9 + 1);\n  iVar9 = -(iVar9 + 0x10U & 0xfffffff8);\n  pcVar3 = (char *)(*(code *)PTR_MHD_lookup_connection_value_0003f14c)\n                             (connection,1,PTR_DAT_0003f05c + -0x2634);\n  if (pcVar3 == (char *)0x0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(pcVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = pcVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = pcVar3 + 7;\n  local_26c = response;\n  local_28c = (uint8_t *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (uint8_t *)lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (uint8_t *)0x0) &&\n     (iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0)) {\n    local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (uint8_t *)0x0) goto LAB_00026264;\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c);\n    if (iVar4 != 0) goto LAB_00026264;\n    local_294 = (uint8_t *)nonce;\n    iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar4 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4);\n    if ((uint8_t *)0x8000 < local_288 + -5) goto LAB_00026264;\n    sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time);\n    if (sVar7 == 8) {\n      uVar13 = MHD_monotonic_sec_counter();\n      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }\n    *(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;\n    unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));\n    (*(code *)PTR_free_0003f2f8)(pcVar3);\n    if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;\n    uVar13 = num_headers;\n    for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;\n        pMVar10 = pMVar10->next) {\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }\n    if (uVar13 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(puVar6);\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);\n    uVar13 = (uint)(iVar4 == 0);\n    local_278 = auStack_2c0 + iVar9 + iVar1;\n  } while( true );\n}\n\n" comment comment comment (function_definition "int digest_auth_check_all\n              (MHD_Connection *connection,DigestAlgorithm *da,char *realm,char *username,\n              char *password,uint8_t *digest,uint nonce_timeout)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  char *pcVar3;\n  int iVar4;\n  size_t sVar5;\n  uint8_t *puVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  int iVar9;\n  MHD_HTTP_Header *pMVar10;\n  undefined *puVar11;\n  char *rnd;\n  int iVar12;\n  uint8_t *alg;\n  char *unaff_s0;\n  uint uVar13;\n  MHD_Daemon *daemon;\n  undefined1 auStack_2c0 [16];\n  undefined8 uStack_2b0;\n  int aiStack_2a8 [2];\n  uint8_t *local_298;\n  uint8_t *local_294;\n  uint8_t *local_290;\n  uint8_t *local_28c;\n  uint8_t *local_288;\n  code *local_284;\n  uint8_t *local_280;\n  uchar *local_27c;\n  undefined1 *local_278;\n  char *local_26c;\n  uint32_t nonce_time;\n  uint num_headers;\n  uint64_t nci;\n  char qop [15];\n  char nc [20];\n  char nonce [129];\n  char cnonce [129];\n  char response [256];\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar9 = da->digest_size * 2;\n  local_27c = (uchar *)password;\n  iVar12 = *(int *)PTR___stack_chk_guard_0003f2ec;\n  daemon = connection->daemon;\n  local_280 = digest;\n  iVar1 = -(iVar9 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar9 + 1);\n  iVar9 = -(iVar9 + 0x10U & 0xfffffff8);\n  pcVar3 = (char *)(*(code *)PTR_MHD_lookup_connection_value_0003f14c)\n                             (connection,1,PTR_DAT_0003f05c + -0x2634);\n  if (pcVar3 == (char *)0x0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(pcVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = pcVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = pcVar3 + 7;\n  local_26c = response;\n  local_28c = (uint8_t *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (uint8_t *)lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (uint8_t *)0x0) &&\n     (iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0)) {\n    local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (uint8_t *)0x0) goto LAB_00026264;\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c);\n    if (iVar4 != 0) goto LAB_00026264;\n    local_294 = (uint8_t *)nonce;\n    iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar4 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4);\n    if ((uint8_t *)0x8000 < local_288 + -5) goto LAB_00026264;\n    sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time);\n    if (sVar7 == 8) {\n      uVar13 = MHD_monotonic_sec_counter();\n      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }\n    *(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;\n    unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));\n    (*(code *)PTR_free_0003f2f8)(pcVar3);\n    if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;\n    uVar13 = num_headers;\n    for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;\n        pMVar10 = pMVar10->next) {\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }\n    if (uVar13 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(puVar6);\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);\n    uVar13 = (uint)(iVar4 == 0);\n    local_278 = auStack_2c0 + iVar9 + iVar1;\n  } while( true );\n}" primitive_type (function_declarator "digest_auth_check_all\n              (MHD_Connection *connection,DigestAlgorithm *da,char *realm,char *username,\n              char *password,uint8_t *digest,uint nonce_timeout)" identifier (parameter_list "(MHD_Connection *connection,DigestAlgorithm *da,char *realm,char *username,\n              char *password,uint8_t *digest,uint nonce_timeout)" ( (parameter_declaration "MHD_Connection *connection" type_identifier (pointer_declarator "*connection" * identifier)) , (parameter_declaration "DigestAlgorithm *da" type_identifier (pointer_declarator "*da" * identifier)) , (parameter_declaration "char *realm" primitive_type (pointer_declarator "*realm" * identifier)) , (parameter_declaration "char *username" primitive_type (pointer_declarator "*username" * identifier)) , (parameter_declaration "char *password" primitive_type (pointer_declarator "*password" * identifier)) , (parameter_declaration "uint8_t *digest" primitive_type (pointer_declarator "*digest" * identifier)) , (parameter_declaration "uint nonce_timeout" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  char *pcVar3;\n  int iVar4;\n  size_t sVar5;\n  uint8_t *puVar6;\n  size_t sVar7;\n  undefined4 uVar8;\n  int iVar9;\n  MHD_HTTP_Header *pMVar10;\n  undefined *puVar11;\n  char *rnd;\n  int iVar12;\n  uint8_t *alg;\n  char *unaff_s0;\n  uint uVar13;\n  MHD_Daemon *daemon;\n  undefined1 auStack_2c0 [16];\n  undefined8 uStack_2b0;\n  int aiStack_2a8 [2];\n  uint8_t *local_298;\n  uint8_t *local_294;\n  uint8_t *local_290;\n  uint8_t *local_28c;\n  uint8_t *local_288;\n  code *local_284;\n  uint8_t *local_280;\n  uchar *local_27c;\n  undefined1 *local_278;\n  char *local_26c;\n  uint32_t nonce_time;\n  uint num_headers;\n  uint64_t nci;\n  char qop [15];\n  char nc [20];\n  char nonce [129];\n  char cnonce [129];\n  char response [256];\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar9 = da->digest_size * 2;\n  local_27c = (uchar *)password;\n  iVar12 = *(int *)PTR___stack_chk_guard_0003f2ec;\n  daemon = connection->daemon;\n  local_280 = digest;\n  iVar1 = -(iVar9 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar9 + 1);\n  iVar9 = -(iVar9 + 0x10U & 0xfffffff8);\n  pcVar3 = (char *)(*(code *)PTR_MHD_lookup_connection_value_0003f14c)\n                             (connection,1,PTR_DAT_0003f05c + -0x2634);\n  if (pcVar3 == (char *)0x0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(pcVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = pcVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = pcVar3 + 7;\n  local_26c = response;\n  local_28c = (uint8_t *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (uint8_t *)lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (uint8_t *)0x0) &&\n     (iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0)) {\n    local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (uint8_t *)0x0) goto LAB_00026264;\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c);\n    if (iVar4 != 0) goto LAB_00026264;\n    local_294 = (uint8_t *)nonce;\n    iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar4 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4);\n    if ((uint8_t *)0x8000 < local_288 + -5) goto LAB_00026264;\n    sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time);\n    if (sVar7 == 8) {\n      uVar13 = MHD_monotonic_sec_counter();\n      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }\n    *(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;\n    unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));\n    (*(code *)PTR_free_0003f2f8)(pcVar3);\n    if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;\n    uVar13 = num_headers;\n    for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;\n        pMVar10 = pMVar10->next) {\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }\n    if (uVar13 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(puVar6);\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);\n    uVar13 = (uint)(iVar4 == 0);\n    local_278 = auStack_2c0 + iVar9 + iVar1;\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "uint8_t *puVar6;" primitive_type (pointer_declarator "*puVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "MHD_HTTP_Header *pMVar10;" type_identifier (pointer_declarator "*pMVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *rnd;" primitive_type (pointer_declarator "*rnd" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint8_t *alg;" primitive_type (pointer_declarator "*alg" * identifier) ;) (declaration "char *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "MHD_Daemon *daemon;" type_identifier (pointer_declarator "*daemon" * identifier) ;) (declaration "undefined1 auStack_2c0 [16];" type_identifier (array_declarator "auStack_2c0 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_2b0;" type_identifier identifier ;) (declaration "int aiStack_2a8 [2];" primitive_type (array_declarator "aiStack_2a8 [2]" identifier [ number_literal ]) ;) (declaration "uint8_t *local_298;" primitive_type (pointer_declarator "*local_298" * identifier) ;) (declaration "uint8_t *local_294;" primitive_type (pointer_declarator "*local_294" * identifier) ;) (declaration "uint8_t *local_290;" primitive_type (pointer_declarator "*local_290" * identifier) ;) (declaration "uint8_t *local_28c;" primitive_type (pointer_declarator "*local_28c" * identifier) ;) (declaration "uint8_t *local_288;" primitive_type (pointer_declarator "*local_288" * identifier) ;) (declaration "code *local_284;" type_identifier (pointer_declarator "*local_284" * identifier) ;) (declaration "uint8_t *local_280;" primitive_type (pointer_declarator "*local_280" * identifier) ;) (declaration "uchar *local_27c;" type_identifier (pointer_declarator "*local_27c" * identifier) ;) (declaration "undefined1 *local_278;" type_identifier (pointer_declarator "*local_278" * identifier) ;) (declaration "char *local_26c;" primitive_type (pointer_declarator "*local_26c" * identifier) ;) (declaration "uint32_t nonce_time;" primitive_type identifier ;) (declaration "uint num_headers;" type_identifier identifier ;) (declaration "uint64_t nci;" primitive_type identifier ;) (declaration "char qop [15];" primitive_type (array_declarator "qop [15]" identifier [ number_literal ]) ;) (declaration "char nc [20];" primitive_type (array_declarator "nc [20]" identifier [ number_literal ]) ;) (declaration "char nonce [129];" primitive_type (array_declarator "nonce [129]" identifier [ number_literal ]) ;) (declaration "char cnonce [129];" primitive_type (array_declarator "cnonce [129]" identifier [ number_literal ]) ;) (declaration "char response [256];" primitive_type (array_declarator "response [256]" identifier [ number_literal ]) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0003f2ec;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0003f2ec" identifier = identifier) ;) (expression_statement "iVar9 = da->digest_size * 2;" (assignment_expression "iVar9 = da->digest_size * 2" identifier = (binary_expression "da->digest_size * 2" (field_expression "da->digest_size" identifier -> field_identifier) * number_literal)) ;) (expression_statement "local_27c = (uchar *)password;" (assignment_expression "local_27c = (uchar *)password" identifier = (cast_expression "(uchar *)password" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar12 = *(int *)PTR___stack_chk_guard_0003f2ec;" (assignment_expression "iVar12 = *(int *)PTR___stack_chk_guard_0003f2ec" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003f2ec" * (cast_expression "(int *)PTR___stack_chk_guard_0003f2ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "daemon = connection->daemon;" (assignment_expression "daemon = connection->daemon" identifier = (field_expression "connection->daemon" identifier -> field_identifier)) ;) (expression_statement "local_280 = digest;" (assignment_expression "local_280 = digest" identifier = identifier) ;) (expression_statement "iVar1 = -(iVar9 + 8U & 0xfffffff8);" (assignment_expression "iVar1 = -(iVar9 + 8U & 0xfffffff8)" identifier = (unary_expression "-(iVar9 + 8U & 0xfffffff8)" - (parenthesized_expression "(iVar9 + 8U & 0xfffffff8)" ( (binary_expression "iVar9 + 8U & 0xfffffff8" (binary_expression "iVar9 + 8U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "local_278 = (undefined1 *)(iVar9 + 1);" (assignment_expression "local_278 = (undefined1 *)(iVar9 + 1)" identifier = (cast_expression "(undefined1 *)(iVar9 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 1)" ( (binary_expression "iVar9 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar9 = -(iVar9 + 0x10U & 0xfffffff8);" (assignment_expression "iVar9 = -(iVar9 + 0x10U & 0xfffffff8)" identifier = (unary_expression "-(iVar9 + 0x10U & 0xfffffff8)" - (parenthesized_expression "(iVar9 + 0x10U & 0xfffffff8)" ( (binary_expression "iVar9 + 0x10U & 0xfffffff8" (binary_expression "iVar9 + 0x10U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "pcVar3 = (char *)(*(code *)PTR_MHD_lookup_connection_value_0003f14c)\n                             (connection,1,PTR_DAT_0003f05c + -0x2634);" (assignment_expression "pcVar3 = (char *)(*(code *)PTR_MHD_lookup_connection_value_0003f14c)\n                             (connection,1,PTR_DAT_0003f05c + -0x2634)" identifier = (cast_expression "(char *)(*(code *)PTR_MHD_lookup_connection_value_0003f14c)\n                             (connection,1,PTR_DAT_0003f05c + -0x2634)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)\n                             (connection,1,PTR_DAT_0003f05c + -0x2634)" (parenthesized_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)" ( (pointer_expression "*(code *)PTR_MHD_lookup_connection_value_0003f14c" * (cast_expression "(code *)PTR_MHD_lookup_connection_value_0003f14c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(connection,1,PTR_DAT_0003f05c + -0x2634)" ( identifier , number_literal , (binary_expression "PTR_DAT_0003f05c + -0x2634" identifier + number_literal) ))))) ;) (if_statement "if (pcVar3 == (char *)0x0) goto LAB_00026264;" if (parenthesized_expression "(pcVar3 == (char *)0x0)" ( (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(pcVar3,PTR_DAT_0003f05c + -0x2624,7);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(pcVar3,PTR_DAT_0003f05c + -0x2624,7)" identifier = (call_expression "(*(code *)PTR_strncmp_0003f174)(pcVar3,PTR_DAT_0003f05c + -0x2624,7)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" ( (pointer_expression "*(code *)PTR_strncmp_0003f174" * (cast_expression "(code *)PTR_strncmp_0003f174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3,PTR_DAT_0003f05c + -0x2624,7)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2624" identifier + number_literal) , number_literal )))) ;) (expression_statement "unaff_s0 = pcVar3;" (assignment_expression "unaff_s0 = pcVar3" identifier = identifier) ;) (if_statement "if (iVar4 != 0) goto LAB_00026264;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "unaff_s0 = pcVar3 + 7;" (assignment_expression "unaff_s0 = pcVar3 + 7" identifier = (binary_expression "pcVar3 + 7" identifier + number_literal)) ;) (expression_statement "local_26c = response;" (assignment_expression "local_26c = response" identifier = identifier) ;) (expression_statement "local_28c = (uint8_t *)(*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "local_28c = (uint8_t *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" identifier = (cast_expression "(uint8_t *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))))) ;) (expression_statement "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);" (assignment_expression "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c)" identifier = (cast_expression "(code *)(PTR_LAB_0003f084 + 0x5b8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0003f084 + 0x5b8c)" ( (binary_expression "PTR_LAB_0003f084 + 0x5b8c" identifier + number_literal) )))) ;) (expression_statement "local_288 = (uint8_t *)lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);" (assignment_expression "local_288 = (uint8_t *)lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" identifier = (cast_expression "(uint8_t *)lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "lookup_sub_value(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" identifier (argument_list "(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x261c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((local_288 != (uint8_t *)0x0) &&\n     (iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0)) {\n    local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (uint8_t *)0x0) goto LAB_00026264;\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c);\n    if (iVar4 != 0) goto LAB_00026264;\n    local_294 = (uint8_t *)nonce;\n    iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar4 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4);\n    if ((uint8_t *)0x8000 < local_288 + -5) goto LAB_00026264;\n    sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time);\n    if (sVar7 == 8) {\n      uVar13 = MHD_monotonic_sec_counter();\n      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" if (parenthesized_expression "((local_288 != (uint8_t *)0x0) &&\n     (iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0))" ( (binary_expression "(local_288 != (uint8_t *)0x0) &&\n     (iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0)" (parenthesized_expression "(local_288 != (uint8_t *)0x0)" ( (binary_expression "local_288 != (uint8_t *)0x0" identifier != (cast_expression "(uint8_t *)0x0" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_0003f328)(username,local_26c)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(username,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(username,local_26c)" ( identifier , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (uint8_t *)0x0) goto LAB_00026264;\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c);\n    if (iVar4 != 0) goto LAB_00026264;\n    local_294 = (uint8_t *)nonce;\n    iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar4 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4);\n    if ((uint8_t *)0x8000 < local_288 + -5) goto LAB_00026264;\n    sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time);\n    if (sVar7 == 8) {\n      uVar13 = MHD_monotonic_sec_counter();\n      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" { (expression_statement "local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);" (assignment_expression "local_290 = (uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" identifier = (cast_expression "(uint8_t *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2610" identifier + number_literal) ))))) ;) (if_statement "if (local_290 == (uint8_t *)0x0) goto LAB_00026264;" if (parenthesized_expression "(local_290 == (uint8_t *)0x0)" ( (binary_expression "local_290 == (uint8_t *)0x0" identifier == (cast_expression "(uint8_t *)0x0" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_0003f328)(realm,local_26c)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(realm,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(realm,local_26c)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_00026264;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "local_294 = (uint8_t *)nonce;" (assignment_expression "local_294 = (uint8_t *)nonce" identifier = (cast_expression "(uint8_t *)nonce" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);" (assignment_expression "iVar4 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" identifier = (call_expression "(*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2608" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00026264;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4);" (assignment_expression "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4)" identifier = (binary_expression "local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar4)" identifier + (parenthesized_expression "(((-0xd - (int)local_288) - (int)local_290) - iVar4)" ( (binary_expression "((-0xd - (int)local_288) - (int)local_290) - iVar4" (parenthesized_expression "((-0xd - (int)local_288) - (int)local_290)" ( (binary_expression "(-0xd - (int)local_288) - (int)local_290" (parenthesized_expression "(-0xd - (int)local_288)" ( (binary_expression "-0xd - (int)local_288" number_literal - (cast_expression "(int)local_288" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (cast_expression "(int)local_290" ( (type_descriptor "int" primitive_type) ) identifier)) )) - identifier) )))) ;) (if_statement "if ((uint8_t *)0x8000 < local_288 + -5) goto LAB_00026264;" if (parenthesized_expression "((uint8_t *)0x8000 < local_288 + -5)" ( (binary_expression "(uint8_t *)0x8000 < local_288 + -5" (cast_expression "(uint8_t *)0x8000" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "local_288 + -5" identifier + number_literal)) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time);" (assignment_expression "sVar7 = MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time)" identifier = (call_expression "MHD_strx_to_uint32_n_((char *)(local_294 + iVar4 + -8),8,&nonce_time)" identifier (argument_list "((char *)(local_294 + iVar4 + -8),8,&nonce_time)" ( (cast_expression "(char *)(local_294 + iVar4 + -8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_294 + iVar4 + -8)" ( (binary_expression "local_294 + iVar4 + -8" (binary_expression "local_294 + iVar4" identifier + identifier) + number_literal) ))) , number_literal , (pointer_expression "&nonce_time" & identifier) )))) ;) (if_statement "if (sVar7 == 8) {\n      uVar13 = MHD_monotonic_sec_counter();\n      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" if (parenthesized_expression "(sVar7 == 8)" ( (binary_expression "sVar7 == 8" identifier == number_literal) )) (compound_statement "{\n      uVar13 = MHD_monotonic_sec_counter();\n      if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }" { (expression_statement "uVar13 = MHD_monotonic_sec_counter();" (assignment_expression "uVar13 = MHD_monotonic_sec_counter()" identifier = (call_expression "MHD_monotonic_sec_counter()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)) {\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" if (parenthesized_expression "((uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout))" ( (binary_expression "(uVar13 <= nonce_time + nonce_timeout) && (nonce_time <= nonce_time + nonce_timeout)" (parenthesized_expression "(uVar13 <= nonce_time + nonce_timeout)" ( (binary_expression "uVar13 <= nonce_time + nonce_timeout" identifier <= (binary_expression "nonce_time + nonce_timeout" identifier + identifier)) )) && (parenthesized_expression "(nonce_time <= nonce_time + nonce_timeout)" ( (binary_expression "nonce_time <= nonce_time + nonce_timeout" identifier <= (binary_expression "nonce_time + nonce_timeout" identifier + identifier)) ))) )) (compound_statement "{\n        rnd = daemon->digest_auth_random;\n        pcVar3 = connection->method;\n        sVar7 = daemon->digest_auth_rand_size;\n        *(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;\n        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;\n        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;\n        *(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;\n        calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));\n        iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);\n        if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" { (expression_statement "rnd = daemon->digest_auth_random;" (assignment_expression "rnd = daemon->digest_auth_random" identifier = (field_expression "daemon->digest_auth_random" identifier -> field_identifier)) ;) (expression_statement "pcVar3 = connection->method;" (assignment_expression "pcVar3 = connection->method" identifier = (field_expression "connection->method" identifier -> field_identifier)) ;) (expression_statement "sVar7 = daemon->digest_auth_rand_size;" (assignment_expression "sVar7 = daemon->digest_auth_rand_size" identifier = (field_expression "daemon->digest_auth_rand_size" identifier -> field_identifier)) ;) (expression_statement "*(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1;" (assignment_expression "*(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4) = &stack0xfffffd60 + iVar9 + iVar1" (pointer_expression "*(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4)" * (cast_expression "(undefined1 **)((int)aiStack_2a8 + iVar9 + iVar1 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2a8 + iVar9 + iVar1 + 4)" ( (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1 + 4" (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1" (binary_expression "(int)aiStack_2a8 + iVar9" (cast_expression "(int)aiStack_2a8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = (binary_expression "&stack0xfffffd60 + iVar9 + iVar1" (binary_expression "&stack0xfffffd60 + iVar9" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier)) ;) (expression_statement "*(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da;" (assignment_expression "*(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1) = da" (pointer_expression "*(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1)" * (cast_expression "(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1)" ( (type_descriptor "DigestAlgorithm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2a8 + iVar9 + iVar1)" ( (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1" (binary_expression "(int)aiStack_2a8 + iVar9" (cast_expression "(int)aiStack_2a8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "*(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm;" (assignment_expression "*(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4) = realm" (pointer_expression "*(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4)" * (cast_expression "(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2a8 + iVar9 + iVar1 + -4)" ( (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1 + -4" (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1" (binary_expression "(int)aiStack_2a8 + iVar9" (cast_expression "(int)aiStack_2a8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url;" (assignment_expression "*(char **)((int)&uStack_2b0 + iVar9 + iVar1) = connection->url" (pointer_expression "*(char **)((int)&uStack_2b0 + iVar9 + iVar1)" * (cast_expression "(char **)((int)&uStack_2b0 + iVar9 + iVar1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar9" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) )))) = (field_expression "connection->url" identifier -> field_identifier)) ;) (expression_statement "calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4));" (call_expression "calculate_nonce(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4))" identifier (argument_list "(nonce_time,pcVar3,rnd,sVar7,*(char **)((int)&uStack_2b0 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4),\n                        *(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1),\n                        *(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4))" ( identifier , identifier , identifier , identifier , (pointer_expression "*(char **)((int)&uStack_2b0 + iVar9 + iVar1)" * (cast_expression "(char **)((int)&uStack_2b0 + iVar9 + iVar1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar9" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) )))) , (pointer_expression "*(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4)" * (cast_expression "(char **)((int)aiStack_2a8 + iVar9 + iVar1 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2a8 + iVar9 + iVar1 + -4)" ( (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1 + -4" (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1" (binary_expression "(int)aiStack_2a8 + iVar9" (cast_expression "(int)aiStack_2a8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) , (pointer_expression "*(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1)" * (cast_expression "(DigestAlgorithm **)((int)aiStack_2a8 + iVar9 + iVar1)" ( (type_descriptor "DigestAlgorithm **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2a8 + iVar9 + iVar1)" ( (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1" (binary_expression "(int)aiStack_2a8 + iVar9" (cast_expression "(int)aiStack_2a8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) , (pointer_expression "*(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4)" * (cast_expression "(char **)((int)aiStack_2a8 + iVar9 + iVar1 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2a8 + iVar9 + iVar1 + 4)" ( (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1 + 4" (binary_expression "(int)aiStack_2a8 + iVar9 + iVar1" (binary_expression "(int)aiStack_2a8 + iVar9" (cast_expression "(int)aiStack_2a8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) ))) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar9 + iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_294,&stack0xfffffd60 + iVar9 + iVar1)" ( identifier , (binary_expression "&stack0xfffffd60 + iVar9 + iVar1" (binary_expression "&stack0xfffffd60 + iVar9" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          local_28c = (uint8_t *)cnonce;\n          iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" { (expression_statement "local_28c = (uint8_t *)cnonce;" (assignment_expression "local_28c = (uint8_t *)cnonce" identifier = (cast_expression "(uint8_t *)cnonce" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);" (assignment_expression "iVar4 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" identifier = (call_expression "(*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x25cc" identifier + number_literal) )))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if (iVar4 != 0) {\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            local_290 = (uint8_t *)qop;\n            iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" { (expression_statement "local_290 = (uint8_t *)qop;" (assignment_expression "local_290 = (uint8_t *)qop" identifier = (cast_expression "(uint8_t *)qop" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);" (assignment_expression "iVar4 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" identifier = (call_expression "(*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x259c" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))) {\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" if (parenthesized_expression "((iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0'))))" ( (binary_expression "(iVar4 != 0) &&\n               ((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "((iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')))" ( (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0'))" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar4 == 0 || (qop[0] == '\0')" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_290,PTR_DAT_0003f05c + -0x2598)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2598" identifier + number_literal) )))) , (binary_expression "iVar4 == 0 || (qop[0] == '\0')" (binary_expression "iVar4 == 0" identifier == number_literal) || (parenthesized_expression "(qop[0] == '\0')" ( (binary_expression "qop[0] == '\0'" (subscript_expression "qop[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )))) )) ))) )) (compound_statement "{\n              local_298 = (uint8_t *)nc;\n              sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" { (expression_statement "local_298 = (uint8_t *)nc;" (assignment_expression "local_298 = (uint8_t *)nc" identifier = (cast_expression "(uint8_t *)nc" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);" (assignment_expression "sVar7 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" identifier = (call_expression "(*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2590" identifier + number_literal) )))) ;) (if_statement "if ((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" if (parenthesized_expression "((sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0))" ( (binary_expression "(sVar7 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" (parenthesized_expression "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" ( (comma_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0" (assignment_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" identifier = (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x258c" identifier + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);\n                if (sVar5 == sVar7) goto LAB_000265c4;\n                MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" { (expression_statement "sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci);" (assignment_expression "sVar5 = MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci)" identifier = (call_expression "MHD_strx_to_uint64_n_((char *)local_298,sVar7,&nci)" identifier (argument_list "((char *)local_298,sVar7,&nci)" ( (cast_expression "(char *)local_298" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&nci" & identifier) )))) ;) (if_statement "if (sVar5 == sVar7) goto LAB_000265c4;" if (parenthesized_expression "(sVar5 == sVar7)" ( (binary_expression "sVar5 == sVar7" identifier == identifier) )) (goto_statement "goto LAB_000265c4;" goto statement_identifier ;)) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2580)" identifier (argument_list "(daemon,PTR_DAT_0003f05c + -0x2580)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2580" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00026268;" goto statement_identifier ;) })) })) })) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x25c4)" identifier (argument_list "(daemon,PTR_DAT_0003f05c + -0x25c4)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x25c4" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00026268;" goto statement_identifier ;) })) })) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" else (compound_statement "{\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2600)" identifier (argument_list "(daemon,PTR_DAT_0003f05c + -0x2600)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2600" identifier + number_literal) ))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) })) (labeled_statement "LAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }\n    *(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;\n    unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));\n    (*(code *)PTR_free_0003f2f8)(pcVar3);\n    if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;\n    uVar13 = num_headers;\n    for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;\n        pMVar10 = pMVar10->next) {\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }\n    if (uVar13 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(puVar6);\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);\n    uVar13 = (uint)(iVar4 == 0);\n    local_278 = auStack_2c0 + iVar9 + iVar1;\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }\n    *(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;\n    unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));\n    (*(code *)PTR_free_0003f2f8)(pcVar3);\n    if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;\n    uVar13 = num_headers;\n    for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;\n        pMVar10 = pMVar10->next) {\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }\n    if (uVar13 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(puVar6);\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);\n    uVar13 = (uint)(iVar4 == 0);\n    local_278 = auStack_2c0 + iVar9 + iVar1;\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }\n    *(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;\n    unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));\n    (*(code *)PTR_free_0003f2f8)(pcVar3);\n    if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;\n    uVar13 = num_headers;\n    for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;\n        pMVar10 = pMVar10->next) {\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }\n    if (uVar13 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(puVar6);\n    iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);\n    uVar13 = (uint)(iVar4 == 0);\n    local_278 = auStack_2c0 + iVar9 + iVar1;\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);\n      if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }\n      pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);\n      if (pcVar3 != (char *)0x0) break;\n      MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = (char *)0x0;\nLAB_00026b0c:\n      uVar13 = 0;\n      MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(puVar6);\n      local_278 = auStack_2c0 + iVar9 + iVar1;\n    }" { (while_statement "while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }\n        alg = (uint8_t *)da->alg;\n        if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);\n        realm = (char *)da->digest_size;\n        local_280 = (uint8_t *)connection->method;\n        (*da->init)(da->ctx);\n        local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*da->update)(da->ctx,local_280,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);\n        (*da->update)(da->ctx,puVar6,sVar7);\n        (*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));\n        cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);\n        (*da->init)(da->ctx);\n        (*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*da->update)(da->ctx,local_294,sVar7);\n        (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }\n        (*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);\n        (*da->digest)(da->ctx,local_27c);\n        cvthex(local_27c,(size_t)realm,da->sessionkey);\n        (*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);\n        unaff_s0 = connection->url;\n        uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);\n        username = (char *)puVar6;\n        if (iVar4 == 0) break;\n        MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(puVar6);\n        local_278 = auStack_2c0 + iVar9 + iVar1;\n      }" { (while_statement "while( true ) {\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar11 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(puVar6);\n        }" { (while_statement "while( true ) {\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);\n            if (puVar6 != (uint8_t *)0x0) break;\n            MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);\n          }" { (while_statement "while( true ) {\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));\n              if (iVar4 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" { (if_statement "if (iVar12 == *(int *)puVar2) {\n                return uVar13;\n              }" if (parenthesized_expression "(iVar12 == *(int *)puVar2)" ( (binary_expression "iVar12 == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n                return uVar13;\n              }" { (return_statement "return uVar13;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f2b8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003f2b8" * (cast_expression "(code *)PTR___stack_chk_fail_0003f2b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000265c4:\n              iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));" statement_identifier : (expression_statement "iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1));" (assignment_expression "iVar4 = check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1))" identifier = (call_expression "check_nonce_nc((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1))" identifier (argument_list "((MHD_Connection *)connection->daemon,(char *)local_294,\n                                     *(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1))" ( (cast_expression "(MHD_Connection *)connection->daemon" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "connection->daemon" identifier -> field_identifier)) , (cast_expression "(char *)local_294" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "*(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1)" * (cast_expression "(uint64_t *)((int)&uStack_2b0 + iVar9 + iVar1)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_2b0 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar9" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) )))) )))) ;)) (if_statement "if (iVar4 == 1) break;" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00026264:\n              uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) })) (expression_statement "local_288 = local_288 + -4;" (assignment_expression "local_288 = local_288 + -4" identifier = (binary_expression "local_288 + -4" identifier + number_literal)) ;) (expression_statement "puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288);" (assignment_expression "puVar6 = (uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288)" identifier = (cast_expression "(uint8_t *)(*(code *)PTR_malloc_0003f25c)(local_288)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_0003f25c)(local_288)" (parenthesized_expression "(*(code *)PTR_malloc_0003f25c)" ( (pointer_expression "*(code *)PTR_malloc_0003f25c" * (cast_expression "(code *)PTR_malloc_0003f25c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_288)" ( identifier ))))) ;) (if_statement "if (puVar6 != (uint8_t *)0x0) break;" if (parenthesized_expression "(puVar6 != (uint8_t *)0x0)" ( (binary_expression "puVar6 != (uint8_t *)0x0" identifier != (cast_expression "(uint8_t *)0x0" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2554)" identifier (argument_list "(daemon,PTR_DAT_0003f05c + -0x2554)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2554" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);" (assignment_expression "iVar4 = (*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" identifier = (call_expression "(*local_284)(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(puVar6,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" ( identifier , identifier , identifier , (binary_expression "PTR_DAT_0003f05c + -0x251c" identifier + number_literal) )))) ;) (expression_statement "puVar11 = PTR_DAT_0003f05c;" (assignment_expression "puVar11 = PTR_DAT_0003f05c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)PTR_free_0003f2f8)(puVar6);" (call_expression "(*(code *)PTR_free_0003f2f8)(puVar6)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) })) (expression_statement "alg = (uint8_t *)da->alg;" (assignment_expression "alg = (uint8_t *)da->alg" identifier = (cast_expression "(uint8_t *)da->alg" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "da->alg" identifier -> field_identifier))) ;) (if_statement "if (local_280 == (uint8_t *)0x0) {\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }\n        else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }" if (parenthesized_expression "(local_280 == (uint8_t *)0x0)" ( (binary_expression "local_280 == (uint8_t *)0x0" identifier == (cast_expression "(uint8_t *)0x0" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = -(da->digest_size + 7 & 0xfffffff8);\n          (*da->init)(da->ctx);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(username);\n          (*da->update)(da->ctx,(uint8_t *)username,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(realm);\n          (*da->update)(da->ctx,(uint8_t *)realm,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*da->update)(da->ctx,local_27c,sVar7);\n          (*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);\n          *(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));\n          local_288 = alg;\n          local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);\n        }" { (expression_statement "iVar4 = -(da->digest_size + 7 & 0xfffffff8);" (assignment_expression "iVar4 = -(da->digest_size + 7 & 0xfffffff8)" identifier = (unary_expression "-(da->digest_size + 7 & 0xfffffff8)" - (parenthesized_expression "(da->digest_size + 7 & 0xfffffff8)" ( (binary_expression "da->digest_size + 7 & 0xfffffff8" (binary_expression "da->digest_size + 7" (field_expression "da->digest_size" identifier -> field_identifier) + number_literal) & number_literal) )))) ;) (expression_statement "(*da->init)(da->ctx);" (call_expression "(*da->init)(da->ctx)" (parenthesized_expression "(*da->init)" ( (pointer_expression "*da->init" * (field_expression "da->init" identifier -> field_identifier)) )) (argument_list "(da->ctx)" ( (field_expression "da->ctx" identifier -> field_identifier) ))) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(username);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(username)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(username)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(username)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,(uint8_t *)username,sVar7);" (call_expression "(*da->update)(da->ctx,(uint8_t *)username,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,(uint8_t *)username,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , (cast_expression "(uint8_t *)username" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(realm);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(realm)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(realm)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(realm)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,(uint8_t *)realm,sVar7);" (call_expression "(*da->update)(da->ctx,(uint8_t *)realm,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,(uint8_t *)realm,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , (cast_expression "(uint8_t *)realm" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(local_27c)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_27c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_27c)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,local_27c,sVar7);" (call_expression "(*da->update)(da->ctx,local_27c,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,local_27c,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1);" (call_expression "(*da->digest)(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1)" (parenthesized_expression "(*da->digest)" ( (pointer_expression "*da->digest" * (field_expression "da->digest" identifier -> field_identifier)) )) (argument_list "(da->ctx,&stack0xfffffd60 + iVar4 + iVar9 + iVar1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "&stack0xfffffd60 + iVar4 + iVar9 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar9" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) + identifier) ))) ;) (expression_statement "*(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c;" (assignment_expression "*(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1) = local_28c" (pointer_expression "*(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1)" * (cast_expression "(uint8_t **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1)" ( (type_descriptor "uint8_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar4 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar4 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar4 + iVar9" (binary_expression "(int)&uStack_2b0 + iVar4" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1));" (call_expression "digest_calc_ha1_from_digest\n                    ((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1))" identifier (argument_list "((char *)alg,da,&stack0xfffffd60 + iVar4 + iVar9 + iVar1,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1))" ( (cast_expression "(char *)alg" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (binary_expression "&stack0xfffffd60 + iVar4 + iVar9 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar9" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) + identifier) , (cast_expression "(char *)local_294" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "*(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1)" * (cast_expression "(char **)((int)&uStack_2b0 + iVar4 + iVar9 + iVar1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar4 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar4 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar4 + iVar9" (binary_expression "(int)&uStack_2b0 + iVar4" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) + identifier) )))) ))) ;) (expression_statement "local_288 = alg;" (assignment_expression "local_288 = alg" identifier = identifier) ;) (expression_statement "local_284 = (code *)(auStack_2c0 + iVar9 + iVar1);" (assignment_expression "local_284 = (code *)(auStack_2c0 + iVar9 + iVar1)" identifier = (cast_expression "(code *)(auStack_2c0 + iVar9 + iVar1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_2c0 + iVar9 + iVar1)" ( (binary_expression "auStack_2c0 + iVar9 + iVar1" (binary_expression "auStack_2c0 + iVar9" identifier + identifier) + identifier) )))) ;) }) (else_clause "else {\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }" else (compound_statement "{\n          *(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;\n          digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));\n        }" { (expression_statement "*(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c;" (assignment_expression "*(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1) = local_28c" (pointer_expression "*(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1)" * (cast_expression "(uint8_t **)((int)&uStack_2b0 + iVar9 + iVar1)" ( (type_descriptor "uint8_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar9" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) )))) = identifier) ;) (expression_statement "digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1));" (call_expression "digest_calc_ha1_from_digest\n                    ((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1))" identifier (argument_list "((char *)alg,da,local_280,(char *)local_294,\n                     *(char **)((int)&uStack_2b0 + iVar9 + iVar1))" ( (cast_expression "(char *)alg" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(char *)local_294" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "*(char **)((int)&uStack_2b0 + iVar9 + iVar1)" * (cast_expression "(char **)((int)&uStack_2b0 + iVar9 + iVar1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar9" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) )))) ))) ;) }))) (expression_statement "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278);" (call_expression "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,da->sessionkey,local_278)" (parenthesized_expression "(*(code *)PTR_memcpy_0003f2f0)" ( (pointer_expression "*(code *)PTR_memcpy_0003f2f0" * (cast_expression "(code *)PTR_memcpy_0003f2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&stack0xfffffd60 + iVar1,da->sessionkey,local_278)" ( (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) , (field_expression "da->sessionkey" identifier -> field_identifier) , identifier ))) ;) (expression_statement "realm = (char *)da->digest_size;" (assignment_expression "realm = (char *)da->digest_size" identifier = (cast_expression "(char *)da->digest_size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "da->digest_size" identifier -> field_identifier))) ;) (expression_statement "local_280 = (uint8_t *)connection->method;" (assignment_expression "local_280 = (uint8_t *)connection->method" identifier = (cast_expression "(uint8_t *)connection->method" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "connection->method" identifier -> field_identifier))) ;) (expression_statement "(*da->init)(da->ctx);" (call_expression "(*da->init)(da->ctx)" (parenthesized_expression "(*da->init)" ( (pointer_expression "*da->init" * (field_expression "da->init" identifier -> field_identifier)) )) (argument_list "(da->ctx)" ( (field_expression "da->ctx" identifier -> field_identifier) ))) ;) (expression_statement "local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1;" (assignment_expression "local_27c = &stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1" identifier = (binary_expression "&stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9 + iVar1" (binary_expression "&stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2 + iVar9" (binary_expression "&stack0xfffffd60 +\n                    ((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2" (pointer_expression "&stack0xfffffd60" & identifier) + (binary_expression "((uint)((uint8_t *)realm + 7) & 0xfffffff8) * -2" (parenthesized_expression "((uint)((uint8_t *)realm + 7) & 0xfffffff8)" ( (binary_expression "(uint)((uint8_t *)realm + 7) & 0xfffffff8" (call_expression "(uint)((uint8_t *)realm + 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint8_t *)realm + 7)" ( (binary_expression "(uint8_t *)realm + 7" (cast_expression "(uint8_t *)realm" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) ))) & number_literal) )) * number_literal)) + identifier) + identifier)) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(local_280);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(local_280)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_280)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_280)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,local_280,sVar7);" (call_expression "(*da->update)(da->ctx,local_280,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,local_280,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(puVar6)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(puVar6)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,puVar6,sVar7);" (call_expression "(*da->update)(da->ctx,puVar6,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar6,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)));" (call_expression "(*da->digest)(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)))" (parenthesized_expression "(*da->digest)" ( (pointer_expression "*da->digest" * (field_expression "da->digest" identifier -> field_identifier)) )) (argument_list "(da->ctx,&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)))" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "&stack0xfffffd60 +\n                              ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8))" (pointer_expression "&stack0xfffffd60" & identifier) + (parenthesized_expression "((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8))" ( (binary_expression "(iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)" (parenthesized_expression "(iVar9 + iVar1)" ( (binary_expression "iVar9 + iVar1" identifier + identifier) )) - (parenthesized_expression "((uint)((uint8_t *)realm + 7) & 0xfffffff8)" ( (binary_expression "(uint)((uint8_t *)realm + 7) & 0xfffffff8" (call_expression "(uint)((uint8_t *)realm + 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint8_t *)realm + 7)" ( (binary_expression "(uint8_t *)realm + 7" (cast_expression "(uint8_t *)realm" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) ))) & number_literal) ))) ))) ))) ;) (expression_statement "cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey);" (call_expression "cvthex(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey)" identifier (argument_list "(&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)),\n               da->digest_size,da->sessionkey)" ( (binary_expression "&stack0xfffffd60 + ((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8))" (pointer_expression "&stack0xfffffd60" & identifier) + (parenthesized_expression "((iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8))" ( (binary_expression "(iVar9 + iVar1) - ((uint)((uint8_t *)realm + 7) & 0xfffffff8)" (parenthesized_expression "(iVar9 + iVar1)" ( (binary_expression "iVar9 + iVar1" identifier + identifier) )) - (parenthesized_expression "((uint)((uint8_t *)realm + 7) & 0xfffffff8)" ( (binary_expression "(uint)((uint8_t *)realm + 7) & 0xfffffff8" (call_expression "(uint)((uint8_t *)realm + 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint8_t *)realm + 7)" ( (binary_expression "(uint8_t *)realm + 7" (cast_expression "(uint8_t *)realm" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) ))) & number_literal) ))) ))) , (field_expression "da->digest_size" identifier -> field_identifier) , (field_expression "da->sessionkey" identifier -> field_identifier) ))) ;) (expression_statement "(*da->init)(da->ctx);" (call_expression "(*da->init)(da->ctx)" (parenthesized_expression "(*da->init)" ( (pointer_expression "*da->init" * (field_expression "da->init" identifier -> field_identifier)) )) (argument_list "(da->ctx)" ( (field_expression "da->ctx" identifier -> field_identifier) ))) ;) (expression_statement "(*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1);" (call_expression "(*da->update)(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,&stack0xfffffd60 + iVar1,da->digest_size << 1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) , (binary_expression "da->digest_size << 1" (field_expression "da->digest_size" identifier -> field_identifier) << number_literal) ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(local_294);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(local_294)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_294)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_294)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,local_294,sVar7);" (call_expression "(*da->update)(da->ctx,local_294,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,local_294,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (if_statement "if (qop[0] != '\0') {\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }" if (parenthesized_expression "(qop[0] != '\0')" ( (binary_expression "qop[0] != '\0'" (subscript_expression "qop[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*da->update)(da->ctx,local_298,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*da->update)(da->ctx,local_28c,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n          sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*da->update)(da->ctx,local_290,sVar7);\n          (*da->update)(da->ctx,puVar11 + -0x26d0,1);\n        }" { (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(local_298);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(local_298)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_298)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_298)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,local_298,sVar7);" (call_expression "(*da->update)(da->ctx,local_298,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,local_298,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(local_28c)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_28c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28c)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,local_28c,sVar7);" (call_expression "(*da->update)(da->ctx,local_28c,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,local_28c,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "sVar7 = (*(code *)PTR_strlen_0003f228)(local_290);" (assignment_expression "sVar7 = (*(code *)PTR_strlen_0003f228)(local_290)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_290)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_290)" ( identifier )))) ;) (expression_statement "(*da->update)(da->ctx,local_290,sVar7);" (call_expression "(*da->update)(da->ctx,local_290,sVar7)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,local_290,sVar7)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(*da->update)(da->ctx,puVar11 + -0x26d0,1);" (call_expression "(*da->update)(da->ctx,puVar11 + -0x26d0,1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,puVar11 + -0x26d0,1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (binary_expression "puVar11 + -0x26d0" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "(*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1);" (call_expression "(*da->update)(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1)" (parenthesized_expression "(*da->update)" ( (pointer_expression "*da->update" * (field_expression "da->update" identifier -> field_identifier)) )) (argument_list "(da->ctx,(uint8_t *)da->sessionkey,da->digest_size << 1)" ( (field_expression "da->ctx" identifier -> field_identifier) , (cast_expression "(uint8_t *)da->sessionkey" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "da->sessionkey" identifier -> field_identifier)) , (binary_expression "da->digest_size << 1" (field_expression "da->digest_size" identifier -> field_identifier) << number_literal) ))) ;) (expression_statement "(*da->digest)(da->ctx,local_27c);" (call_expression "(*da->digest)(da->ctx,local_27c)" (parenthesized_expression "(*da->digest)" ( (pointer_expression "*da->digest" * (field_expression "da->digest" identifier -> field_identifier)) )) (argument_list "(da->ctx,local_27c)" ( (field_expression "da->ctx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "cvthex(local_27c,(size_t)realm,da->sessionkey);" (call_expression "cvthex(local_27c,(size_t)realm,da->sessionkey)" identifier (argument_list "(local_27c,(size_t)realm,da->sessionkey)" ( identifier , (cast_expression "(size_t)realm" ( (type_descriptor "size_t" primitive_type) ) identifier) , (field_expression "da->sessionkey" identifier -> field_identifier) ))) ;) (expression_statement "(*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6);" (call_expression "(*daemon->unescape_callback)(daemon->unescape_callback_cls,connection,(char *)puVar6)" (parenthesized_expression "(*daemon->unescape_callback)" ( (pointer_expression "*daemon->unescape_callback" * (field_expression "daemon->unescape_callback" identifier -> field_identifier)) )) (argument_list "(daemon->unescape_callback_cls,connection,(char *)puVar6)" ( (field_expression "daemon->unescape_callback_cls" identifier -> field_identifier) , identifier , (cast_expression "(char *)puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "unaff_s0 = connection->url;" (assignment_expression "unaff_s0 = connection->url" identifier = (field_expression "connection->url" identifier -> field_identifier)) ;) (expression_statement "uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "uVar8 = (*(code *)PTR_strlen_0003f228)(unaff_s0)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8)" identifier = (call_expression "(*(code *)PTR_strncmp_0003f174)(puVar6,unaff_s0,uVar8)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" ( (pointer_expression "*(code *)PTR_strncmp_0003f174" * (cast_expression "(code *)PTR_strncmp_0003f174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,unaff_s0,uVar8)" ( identifier , identifier , identifier )))) ;) (expression_statement "username = (char *)puVar6;" (assignment_expression "username = (char *)puVar6" identifier = (cast_expression "(char *)puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x2518)" identifier (argument_list "(daemon,PTR_DAT_0003f05c + -0x2518)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2518" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(puVar6);" (call_expression "(*(code *)PTR_free_0003f2f8)(puVar6)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "local_278 = auStack_2c0 + iVar9 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar9 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar9 + iVar1" (binary_expression "auStack_2c0 + iVar9" identifier + identifier) + identifier)) ;) })) (expression_statement "iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f);" (assignment_expression "iVar4 = (*(code *)PTR_strchr_0003f234)(puVar6,0x3f)" identifier = (call_expression "(*(code *)PTR_strchr_0003f234)(puVar6,0x3f)" (parenthesized_expression "(*(code *)PTR_strchr_0003f234)" ( (pointer_expression "*(code *)PTR_strchr_0003f234" * (cast_expression "(code *)PTR_strchr_0003f234" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,0x3f)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar11 = PTR_DAT_0003f05c + -0x47bc;\n      }" { (expression_statement "puVar11 = PTR_DAT_0003f05c + -0x47bc;" (assignment_expression "puVar11 = PTR_DAT_0003f05c + -0x47bc" identifier = (binary_expression "PTR_DAT_0003f05c + -0x47bc" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar11 = (undefined *)(iVar4 + 1);\n      }" else (compound_statement "{\n        puVar11 = (undefined *)(iVar4 + 1);\n      }" { (expression_statement "puVar11 = (undefined *)(iVar4 + 1);" (assignment_expression "puVar11 = (undefined *)(iVar4 + 1)" identifier = (cast_expression "(undefined *)(iVar4 + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) ;) }))) (expression_statement "pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11);" (assignment_expression "pcVar3 = (char *)(*(code *)PTR_strdup_0003f2f4)(puVar11)" identifier = (cast_expression "(char *)(*(code *)PTR_strdup_0003f2f4)(puVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strdup_0003f2f4)(puVar11)" (parenthesized_expression "(*(code *)PTR_strdup_0003f2f4)" ( (pointer_expression "*(code *)PTR_strdup_0003f2f4" * (cast_expression "(code *)PTR_strdup_0003f2f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11)" ( identifier ))))) ;) (if_statement "if (pcVar3 != (char *)0x0) break;" if (parenthesized_expression "(pcVar3 != (char *)0x0)" ( (binary_expression "pcVar3 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec);" (call_expression "MHD_DLOG(connection->daemon,PTR_DAT_0003f05c + -0x24ec)" identifier (argument_list "(connection->daemon,PTR_DAT_0003f05c + -0x24ec)" ( (field_expression "connection->daemon" identifier -> field_identifier) , (binary_expression "PTR_DAT_0003f05c + -0x24ec" identifier + number_literal) ))) ;) (expression_statement "unaff_s0 = (char *)0x0;" (assignment_expression "unaff_s0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00026b0c:\n      uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003f05c + -0x24b4)" identifier (argument_list "(daemon,PTR_DAT_0003f05c + -0x24b4)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x24b4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(puVar6);" (call_expression "(*(code *)PTR_free_0003f2f8)(puVar6)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "local_278 = auStack_2c0 + iVar9 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar9 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar9 + iVar1" (binary_expression "auStack_2c0 + iVar9" identifier + identifier) + identifier)) ;) })) (expression_statement "*(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers;" (assignment_expression "*(uint **)((int)&uStack_2b0 + iVar9 + iVar1) = &num_headers" (pointer_expression "*(uint **)((int)&uStack_2b0 + iVar9 + iVar1)" * (cast_expression "(uint **)((int)&uStack_2b0 + iVar9 + iVar1)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar9" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) )))) = (pointer_expression "&num_headers" & identifier)) ;) (expression_statement "unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1));" (assignment_expression "unaff_s0 = (char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1))" identifier = (cast_expression "(char *)MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "MHD_parse_arguments_\n                                 (connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1))" identifier (argument_list "(connection,MHD_GET_ARGUMENT_KIND,pcVar3,\n                                  (MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688),\n                                  *(uint **)((int)&uStack_2b0 + iVar9 + iVar1))" ( identifier , identifier , identifier , (call_expression "(MHD_ArgumentIterator_)(PTR_LAB_0003f084 + 0x5688)" (parenthesized_expression "(MHD_ArgumentIterator_)" ( identifier )) (argument_list "(PTR_LAB_0003f084 + 0x5688)" ( (binary_expression "PTR_LAB_0003f084 + 0x5688" identifier + number_literal) ))) , (pointer_expression "*(uint **)((int)&uStack_2b0 + iVar9 + iVar1)" * (cast_expression "(uint **)((int)&uStack_2b0 + iVar9 + iVar1)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&uStack_2b0 + iVar9 + iVar1)" ( (binary_expression "(int)&uStack_2b0 + iVar9 + iVar1" (binary_expression "(int)&uStack_2b0 + iVar9" (cast_expression "(int)&uStack_2b0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_2b0" & identifier)) + identifier) + identifier) )))) ))))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(pcVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(pcVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3)" ( identifier ))) ;) (if_statement "if (unaff_s0 != (char *)0x1) goto LAB_00026b0c;" if (parenthesized_expression "(unaff_s0 != (char *)0x1)" ( (binary_expression "unaff_s0 != (char *)0x1" identifier != (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026b0c;" goto statement_identifier ;)) (expression_statement "uVar13 = num_headers;" (assignment_expression "uVar13 = num_headers" identifier = identifier) ;) (for_statement "for (pMVar10 = connection->headers_received; pMVar10 != (MHD_HTTP_Header *)0x0;\n        pMVar10 = pMVar10->next) {\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }" for ( (assignment_expression "pMVar10 = connection->headers_received" identifier = (field_expression "connection->headers_received" identifier -> field_identifier)) ; (binary_expression "pMVar10 != (MHD_HTTP_Header *)0x0" identifier != (cast_expression "(MHD_HTTP_Header *)0x0" ( (type_descriptor "MHD_HTTP_Header *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pMVar10 = pMVar10->next" identifier = (field_expression "pMVar10->next" identifier -> field_identifier)) ) (compound_statement "{\n      if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }\n    }" { (if_statement "if (pMVar10->kind == MHD_GET_ARGUMENT_KIND) {\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }" if (parenthesized_expression "(pMVar10->kind == MHD_GET_ARGUMENT_KIND)" ( (binary_expression "pMVar10->kind == MHD_GET_ARGUMENT_KIND" (field_expression "pMVar10->kind" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        uVar13 = uVar13 - 1;\n        num_headers = uVar13;\n      }" { (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "num_headers = uVar13;" (assignment_expression "num_headers = uVar13" identifier = identifier) ;) })) })) (if_statement "if (uVar13 != 0) goto LAB_00026b0c;" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026b0c;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_free_0003f2f8)(puVar6);" (call_expression "(*(code *)PTR_free_0003f2f8)(puVar6)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_26c,da->sessionkey)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_26c,da->sessionkey)" ( identifier , (field_expression "da->sessionkey" identifier -> field_identifier) )))) ;) (expression_statement "uVar13 = (uint)(iVar4 == 0);" (assignment_expression "uVar13 = (uint)(iVar4 == 0)" identifier = (call_expression "(uint)(iVar4 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )))) ;) (expression_statement "local_278 = auStack_2c0 + iVar9 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar9 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar9 + iVar1" (binary_expression "auStack_2c0 + iVar9" identifier + identifier) + identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "uint FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}\n\n" (function_definition "uint FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}" type_identifier (function_declarator "FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)" identifier (parameter_list "(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined1 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int param_7" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int unaff_s0;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 auStack_2c0 [16];" type_identifier (array_declarator "auStack_2c0 [16]" identifier [ number_literal ]) ;) (declaration "int aiStack_2b0 [4];" primitive_type (array_declarator "aiStack_2b0 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_298;" type_identifier (pointer_declarator "*local_298" * identifier) ;) (declaration "undefined1 *local_294;" type_identifier (pointer_declarator "*local_294" * identifier) ;) (declaration "char *local_290;" primitive_type (pointer_declarator "*local_290" * identifier) ;) (declaration "undefined1 *local_28c;" type_identifier (pointer_declarator "*local_28c" * identifier) ;) (declaration "undefined1 *local_288;" type_identifier (pointer_declarator "*local_288" * identifier) ;) (declaration "code *local_284;" type_identifier (pointer_declarator "*local_284" * identifier) ;) (declaration "int local_280;" primitive_type identifier ;) (declaration "undefined1 *local_27c;" type_identifier (pointer_declarator "*local_27c" * identifier) ;) (declaration "undefined1 *local_278;" type_identifier (pointer_declarator "*local_278" * identifier) ;) (declaration "undefined1 *local_26c;" type_identifier (pointer_declarator "*local_26c" * identifier) ;) (declaration "uint local_268;" type_identifier identifier ;) (declaration "int local_264;" primitive_type identifier ;) (declaration "undefined4 local_260;" type_identifier identifier ;) (declaration "undefined4 local_25c;" type_identifier identifier ;) (declaration "char local_258 [16];" primitive_type (array_declarator "local_258 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_248 [12];" type_identifier (array_declarator "auStack_248 [12]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_23c [8];" type_identifier (array_declarator "auStack_23c [8]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_234 [132];" type_identifier (array_declarator "auStack_234 [132]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_1b0 [132];" type_identifier (array_declarator "auStack_1b0 [132]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_12c [256];" type_identifier (array_declarator "auStack_12c [256]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0003f2ec;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0003f2ec" identifier = identifier) ;) (expression_statement "iVar7 = *param_2 * 2;" (assignment_expression "iVar7 = *param_2 * 2" identifier = (binary_expression "*param_2 * 2" (pointer_expression "*param_2" * identifier) * number_literal)) ;) (expression_statement "local_27c = param_5;" (assignment_expression "local_27c = param_5" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003f2ec" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003f2ec" * (cast_expression "(int *)PTR___stack_chk_guard_0003f2ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar14 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar14 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_280 = param_6;" (assignment_expression "local_280 = param_6" identifier = identifier) ;) (expression_statement "iVar1 = -(iVar7 + 8U & 0xfffffff8);" (assignment_expression "iVar1 = -(iVar7 + 8U & 0xfffffff8)" identifier = (unary_expression "-(iVar7 + 8U & 0xfffffff8)" - (parenthesized_expression "(iVar7 + 8U & 0xfffffff8)" ( (binary_expression "iVar7 + 8U & 0xfffffff8" (binary_expression "iVar7 + 8U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "local_278 = (undefined1 *)(iVar7 + 1);" (assignment_expression "local_278 = (undefined1 *)(iVar7 + 1)" identifier = (cast_expression "(undefined1 *)(iVar7 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar7 = -(iVar7 + 0x10U & 0xfffffff8);" (assignment_expression "iVar7 = -(iVar7 + 0x10U & 0xfffffff8)" identifier = (unary_expression "-(iVar7 + 0x10U & 0xfffffff8)" - (parenthesized_expression "(iVar7 + 0x10U & 0xfffffff8)" ( (binary_expression "iVar7 + 0x10U & 0xfffffff8" (binary_expression "iVar7 + 0x10U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);" (assignment_expression "iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634)" identifier = (call_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634)" (parenthesized_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)" ( (pointer_expression "*(code *)PTR_MHD_lookup_connection_value_0003f14c" * (cast_expression "(code *)PTR_MHD_lookup_connection_value_0003f14c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,1,PTR_DAT_0003f05c + -0x2634)" ( identifier , number_literal , (binary_expression "PTR_DAT_0003f05c + -0x2634" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00026264;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7)" identifier = (call_expression "(*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" ( (pointer_expression "*(code *)PTR_strncmp_0003f174" * (cast_expression "(code *)PTR_strncmp_0003f174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,PTR_DAT_0003f05c + -0x2624,7)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2624" identifier + number_literal) , number_literal )))) ;) (expression_statement "unaff_s0 = iVar3;" (assignment_expression "unaff_s0 = iVar3" identifier = identifier) ;) (if_statement "if (iVar4 != 0) goto LAB_00026264;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "unaff_s0 = iVar3 + 7;" (assignment_expression "unaff_s0 = iVar3 + 7" identifier = (binary_expression "iVar3 + 7" identifier + number_literal)) ;) (expression_statement "local_26c = auStack_12c;" (assignment_expression "local_26c = auStack_12c" identifier = identifier) ;) (expression_statement "local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))))) ;) (expression_statement "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);" (assignment_expression "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c)" identifier = (cast_expression "(code *)(PTR_LAB_0003f084 + 0x5b8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0003f084 + 0x5b8c)" ( (binary_expression "PTR_LAB_0003f084 + 0x5b8c" identifier + number_literal) )))) ;) (expression_statement "local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);" (assignment_expression "local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" identifier = (cast_expression "(undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" identifier (argument_list "(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x261c" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" if (parenthesized_expression "((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0))" ( (binary_expression "(local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)" (parenthesized_expression "(local_288 != (undefined1 *)0x0)" ( (binary_expression "local_288 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(param_4,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,local_26c)" ( identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" { (expression_statement "local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);" (assignment_expression "local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" identifier = (cast_expression "(char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2610" identifier + number_literal) ))))) ;) (if_statement "if (local_290 == (char *)0x0) goto LAB_00026264;" if (parenthesized_expression "(local_290 == (char *)0x0)" ( (binary_expression "local_290 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(param_3,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,local_26c)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_00026264;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "local_294 = auStack_234;" (assignment_expression "local_294 = auStack_234" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);" (assignment_expression "iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" identifier = (call_expression "(*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2608" identifier + number_literal) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00026264;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);" (assignment_expression "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3)" identifier = (binary_expression "local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3)" identifier + (parenthesized_expression "(((-0xd - (int)local_288) - (int)local_290) - iVar3)" ( (binary_expression "((-0xd - (int)local_288) - (int)local_290) - iVar3" (parenthesized_expression "((-0xd - (int)local_288) - (int)local_290)" ( (binary_expression "(-0xd - (int)local_288) - (int)local_290" (parenthesized_expression "(-0xd - (int)local_288)" ( (binary_expression "-0xd - (int)local_288" number_literal - (cast_expression "(int)local_288" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (cast_expression "(int)local_290" ( (type_descriptor "int" primitive_type) ) identifier)) )) - identifier) )))) ;) (if_statement "if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;" if (parenthesized_expression "((undefined1 *)0x8000 < local_288 + -5)" ( (binary_expression "(undefined1 *)0x8000 < local_288 + -5" (cast_expression "(undefined1 *)0x8000" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "local_288 + -5" identifier + number_literal)) )) (goto_statement "goto LAB_00026264;" goto statement_identifier ;)) (expression_statement "iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);" (assignment_expression "iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268)" identifier = (call_expression "FUN_00021e94(local_294 + iVar3 + -8,8,&local_268)" identifier (argument_list "(local_294 + iVar3 + -8,8,&local_268)" ( (binary_expression "local_294 + iVar3 + -8" (binary_expression "local_294 + iVar3" identifier + identifier) + number_literal) , number_literal , (pointer_expression "&local_268" & identifier) )))) ;) (if_statement "if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" if (parenthesized_expression "(iVar3 == 8)" ( (binary_expression "iVar3 == 8" identifier == number_literal) )) (compound_statement "{\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }" { (expression_statement "uVar13 = FUN_0002186c();" (assignment_expression "uVar13 = FUN_0002186c()" identifier = (call_expression "FUN_0002186c()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" if (parenthesized_expression "((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7))" ( (binary_expression "(uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)" (parenthesized_expression "(uVar13 <= local_268 + param_7)" ( (binary_expression "uVar13 <= local_268 + param_7" identifier <= (binary_expression "local_268 + param_7" identifier + identifier)) )) && (parenthesized_expression "(local_268 <= local_268 + param_7)" ( (binary_expression "local_268 <= local_268 + param_7" identifier <= (binary_expression "local_268 + param_7" identifier + identifier)) ))) )) (compound_statement "{\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" { (expression_statement "uVar10 = *(undefined4 *)(iVar14 + 0x144);" (assignment_expression "uVar10 = *(undefined4 *)(iVar14 + 0x144)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x144)" * (cast_expression "(undefined4 *)(iVar14 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x144)" ( (binary_expression "iVar14 + 0x144" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "uVar6 = *(undefined4 *)(param_1 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x34)" * (cast_expression "(undefined4 *)(param_1 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(iVar14 + 0x164);" (assignment_expression "uVar11 = *(undefined4 *)(iVar14 + 0x164)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x164)" * (cast_expression "(undefined4 *)(iVar14 + 0x164)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x164)" ( (binary_expression "iVar14 + 0x164" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" * (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 0xc" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = (binary_expression "&stack0xfffffd60 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar7" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier)) ;) (expression_statement "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;" (assignment_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2" (pointer_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8)" * (cast_expression "(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 8)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 8" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;" (assignment_expression "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3" (pointer_expression "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4)" * (cast_expression "(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 4)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 4" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38)" (pointer_expression "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1)" * (cast_expression "(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "FUN_00025760(local_268,uVar6,uVar10,uVar11);" (call_expression "FUN_00025760(local_268,uVar6,uVar10,uVar11)" identifier (argument_list "(local_268,uVar6,uVar10,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_294,&stack0xfffffd60 + iVar7 + iVar1)" ( identifier , (binary_expression "&stack0xfffffd60 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar7" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" { (expression_statement "local_28c = auStack_1b0;" (assignment_expression "local_28c = auStack_1b0" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);" (assignment_expression "iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" identifier = (call_expression "(*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x25cc" identifier + number_literal) )))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" { (expression_statement "local_290 = local_258;" (assignment_expression "local_290 = local_258" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);" (assignment_expression "iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" identifier = (call_expression "(*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x259c" identifier + number_literal) )))) ;) (if_statement "if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" if (parenthesized_expression "((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0'))))" ( (binary_expression "(iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))" ( (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0'))" ( (comma_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_290,PTR_DAT_0003f05c + -0x2598)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2598" identifier + number_literal) )))) , (binary_expression "iVar3 == 0 || (local_258[0] == '\0')" (binary_expression "iVar3 == 0" identifier == number_literal) || (parenthesized_expression "(local_258[0] == '\0')" ( (binary_expression "local_258[0] == '\0'" (subscript_expression "local_258[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )))) )) ))) )) (compound_statement "{\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" { (expression_statement "local_298 = auStack_248;" (assignment_expression "local_298 = auStack_248" identifier = identifier) ;) (expression_statement "iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);" (assignment_expression "iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" identifier = (call_expression "(*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x2590" identifier + number_literal) )))) ;) (if_statement "if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" if (parenthesized_expression "((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0))" ( (binary_expression "(iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" ( (comma_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0" (assignment_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" identifier = (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" ( identifier , number_literal , identifier , (binary_expression "PTR_DAT_0003f05c + -0x258c" identifier + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" { (expression_statement "iVar4 = FUN_00022050(local_298,iVar3,&local_260);" (assignment_expression "iVar4 = FUN_00022050(local_298,iVar3,&local_260)" identifier = (call_expression "FUN_00022050(local_298,iVar3,&local_260)" identifier (argument_list "(local_298,iVar3,&local_260)" ( identifier , identifier , (pointer_expression "&local_260" & identifier) )))) ;) (if_statement "if (iVar4 == iVar3) goto LAB_000265c4;" if (parenthesized_expression "(iVar4 == iVar3)" ( (binary_expression "iVar4 == iVar3" identifier == identifier) )) (goto_statement "goto LAB_000265c4;" goto statement_identifier ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2580)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2580" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00026268;" goto statement_identifier ;) })) })) })) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x25c4)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x25c4" identifier + number_literal) ))) ;) (goto_statement "goto LAB_00026268;" goto statement_identifier ;) })) })) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" else (compound_statement "{\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" { (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2600)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2600" identifier + number_literal) ))) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) }))) })) (labeled_statement "LAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }" { (while_statement "while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }" { (while_statement "while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }" { (while_statement "while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }" { (while_statement "while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" { (if_statement "if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n                return uVar13;\n              }" { (return_statement "return uVar13;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f2b8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003f2b8" * (cast_expression "(code *)PTR___stack_chk_fail_0003f2b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);" statement_identifier : (expression_statement "iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);" (assignment_expression "iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" identifier = (call_expression "FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x18)" * (cast_expression "(undefined4 *)(param_1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) , identifier , identifier , identifier )))) ;)) (if_statement "if (iVar3 == 1) break;" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00026264:\n              uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) })) (expression_statement "local_288 = local_288 + -4;" (assignment_expression "local_288 = local_288 + -4" identifier = (binary_expression "local_288 + -4" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288)" identifier = (call_expression "(*(code *)PTR_malloc_0003f25c)(local_288)" (parenthesized_expression "(*(code *)PTR_malloc_0003f25c)" ( (pointer_expression "*(code *)PTR_malloc_0003f25c" * (cast_expression "(code *)PTR_malloc_0003f25c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_288)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) break;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2554)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2554" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);" (assignment_expression "iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" identifier = (call_expression "(*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" (parenthesized_expression "(*local_284)" ( (pointer_expression "*local_284" * identifier) )) (argument_list "(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" ( identifier , identifier , identifier , (binary_expression "PTR_DAT_0003f05c + -0x251c" identifier + number_literal) )))) ;) (expression_statement "puVar9 = PTR_DAT_0003f05c;" (assignment_expression "puVar9 = PTR_DAT_0003f05c" identifier = identifier) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) })) (expression_statement "puVar12 = (undefined1 *)param_2[2];" (assignment_expression "puVar12 = (undefined1 *)param_2[2]" identifier = (cast_expression "(undefined1 *)param_2[2]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" if (parenthesized_expression "(local_280 == 0)" ( (binary_expression "local_280 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }" { (expression_statement "iVar4 = -(*param_2 + 7U & 0xfffffff8);" (assignment_expression "iVar4 = -(*param_2 + 7U & 0xfffffff8)" identifier = (unary_expression "-(*param_2 + 7U & 0xfffffff8)" - (parenthesized_expression "(*param_2 + 7U & 0xfffffff8)" ( (binary_expression "*param_2 + 7U & 0xfffffff8" (binary_expression "*param_2 + 7U" (pointer_expression "*param_2" * identifier) + number_literal) & number_literal) )))) ;) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" ( (pointer_expression "*(code *)param_2[4]" * (cast_expression "(code *)param_2[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) )) (argument_list "(param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(param_4)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(param_4)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],param_4,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],param_4,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],param_4,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(param_3)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],param_3,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],param_3,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],param_3,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_27c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_27c)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_27c,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_27c,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_27c,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);" (call_expression "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1)" (parenthesized_expression "(*(code *)param_2[6])" ( (pointer_expression "*(code *)param_2[6]" * (cast_expression "(code *)param_2[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "&stack0xfffffd60 + iVar4 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar7" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) + identifier) ))) ;) (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" * (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar4 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar4 + iVar7" (binary_expression "(int)aiStack_2b0 + iVar4" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);" (call_expression "FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294)" identifier (argument_list "(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294)" ( identifier , identifier , (binary_expression "&stack0xfffffd60 + iVar4 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar7" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) + identifier) + identifier) , identifier ))) ;) (expression_statement "local_288 = puVar12;" (assignment_expression "local_288 = puVar12" identifier = identifier) ;) (expression_statement "local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);" (assignment_expression "local_284 = (code *)(auStack_2c0 + iVar7 + iVar1)" identifier = (cast_expression "(code *)(auStack_2c0 + iVar7 + iVar1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_2c0 + iVar7 + iVar1)" ( (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier) )))) ;) }) (else_clause "else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" else (compound_statement "{\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" { (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1)" * (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) = identifier) ;) (expression_statement "FUN_000259a4(puVar12,param_2,local_280,local_294);" (call_expression "FUN_000259a4(puVar12,param_2,local_280,local_294)" identifier (argument_list "(puVar12,param_2,local_280,local_294)" ( identifier , identifier , identifier , identifier ))) ;) }))) (expression_statement "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);" (call_expression "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278)" (parenthesized_expression "(*(code *)PTR_memcpy_0003f2f0)" ( (pointer_expression "*(code *)PTR_memcpy_0003f2f0" * (cast_expression "(code *)PTR_memcpy_0003f2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&stack0xfffffd60 + iVar1,param_2[3],local_278)" ( (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "param_3 = *param_2;" (assignment_expression "param_3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_280 = *(int *)(param_1 + 0x34);" (assignment_expression "local_280 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = param_3 + 7U & 0xfffffff8;" (assignment_expression "uVar5 = param_3 + 7U & 0xfffffff8" identifier = (binary_expression "param_3 + 7U & 0xfffffff8" (binary_expression "param_3 + 7U" identifier + number_literal) & number_literal)) ;) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" ( (pointer_expression "*(code *)param_2[4]" * (cast_expression "(code *)param_2[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) )) (argument_list "(param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;" (assignment_expression "local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1" identifier = (binary_expression "&stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + uVar5 * -2 + iVar7" (binary_expression "&stack0xfffffd60 + uVar5 * -2" (pointer_expression "&stack0xfffffd60" & identifier) + (binary_expression "uVar5 * -2" identifier * number_literal)) + identifier) + identifier)) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_280)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_280)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_280)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_280,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_280,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_280,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],iVar3,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],iVar3,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],iVar3,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));" (call_expression "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5))" (parenthesized_expression "(*(code *)param_2[6])" ( (pointer_expression "*(code *)param_2[6]" * (cast_expression "(code *)param_2[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5))" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5)" (pointer_expression "&stack0xfffffd60" & identifier) + (parenthesized_expression "((iVar7 + iVar1) - uVar5)" ( (binary_expression "(iVar7 + iVar1) - uVar5" (parenthesized_expression "(iVar7 + iVar1)" ( (binary_expression "iVar7 + iVar1" identifier + identifier) )) - identifier) ))) ))) ;) (expression_statement "FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);" (call_expression "FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3])" identifier (argument_list "(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3])" ( (binary_expression "&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5)" (pointer_expression "&stack0xfffffd60" & identifier) + (parenthesized_expression "((iVar7 + iVar1) - uVar5)" ( (binary_expression "(iVar7 + iVar1) - uVar5" (parenthesized_expression "(iVar7 + iVar1)" ( (binary_expression "iVar7 + iVar1" identifier + identifier) )) - identifier) ))) , (pointer_expression "*param_2" * identifier) , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" ( (pointer_expression "*(code *)param_2[4]" * (cast_expression "(code *)param_2[4]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) )) (argument_list "(param_2[1])" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);" (call_expression "(*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" & identifier) + identifier) , (binary_expression "*param_2 << 1" (pointer_expression "*param_2" * identifier) << number_literal) ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_294)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_294)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_294)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_294,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_294,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_294,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (if_statement "if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }" if (parenthesized_expression "(local_258[0] != '\0')" ( (binary_expression "local_258[0] != '\0'" (subscript_expression "local_258[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }" { (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_298)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_298)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_298)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_298,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_298,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_298,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_28c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_28c)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_28c,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_28c,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_28c,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_290)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(local_290)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_290)" ( identifier )))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],local_290,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_290,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_290,uVar6)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (binary_expression "puVar9 + -0x26d0" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "(*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);" (call_expression "(*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1)" (parenthesized_expression "(*(code *)param_2[5])" ( (pointer_expression "*(code *)param_2[5]" * (cast_expression "(code *)param_2[5]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],param_2[3],*param_2 << 1)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , (binary_expression "*param_2 << 1" (pointer_expression "*param_2" * identifier) << number_literal) ))) ;) (expression_statement "(*(code *)param_2[6])(param_2[1],local_27c);" (call_expression "(*(code *)param_2[6])(param_2[1],local_27c)" (parenthesized_expression "(*(code *)param_2[6])" ( (pointer_expression "*(code *)param_2[6]" * (cast_expression "(code *)param_2[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[6]" identifier [ number_literal ]))) )) (argument_list "(param_2[1],local_27c)" ( (subscript_expression "param_2[1]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "FUN_000255f0(local_27c,param_3,param_2[3]);" (call_expression "FUN_000255f0(local_27c,param_3,param_2[3])" identifier (argument_list "(local_27c,param_3,param_2[3])" ( identifier , identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);" (call_expression "(**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3)" (parenthesized_expression "(**(code **)(iVar14 + 0x60))" ( (pointer_expression "**(code **)(iVar14 + 0x60)" * (pointer_expression "*(code **)(iVar14 + 0x60)" * (cast_expression "(code **)(iVar14 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x60)" ( (binary_expression "iVar14 + 0x60" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 100),param_1,iVar3)" ( (pointer_expression "*(undefined4 *)(iVar14 + 100)" * (cast_expression "(undefined4 *)(iVar14 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 100)" ( (binary_expression "iVar14 + 100" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "unaff_s0 = *(int *)(param_1 + 0x38);" (assignment_expression "unaff_s0 = *(int *)(param_1 + 0x38)" identifier = (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0)" identifier = (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" ( (pointer_expression "*(code *)PTR_strlen_0003f228" * (cast_expression "(code *)PTR_strlen_0003f228" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6)" identifier = (call_expression "(*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" ( (pointer_expression "*(code *)PTR_strncmp_0003f174" * (cast_expression "(code *)PTR_strncmp_0003f174" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,unaff_s0,uVar6)" ( identifier , identifier , identifier )))) ;) (expression_statement "param_4 = iVar3;" (assignment_expression "param_4 = iVar3" identifier = identifier) ;) (if_statement "if (iVar4 == 0) break;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2518)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x2518" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier)) ;) })) (expression_statement "iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);" (assignment_expression "iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f)" identifier = (call_expression "(*(code *)PTR_strchr_0003f234)(iVar3,0x3f)" (parenthesized_expression "(*(code *)PTR_strchr_0003f234)" ( (pointer_expression "*(code *)PTR_strchr_0003f234" * (cast_expression "(code *)PTR_strchr_0003f234" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,0x3f)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }" { (expression_statement "puVar9 = PTR_DAT_0003f05c + -0x47bc;" (assignment_expression "puVar9 = PTR_DAT_0003f05c + -0x47bc" identifier = (binary_expression "PTR_DAT_0003f05c + -0x47bc" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" else (compound_statement "{\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" { (expression_statement "puVar9 = (undefined *)(iVar4 + 1);" (assignment_expression "puVar9 = (undefined *)(iVar4 + 1)" identifier = (cast_expression "(undefined *)(iVar4 + 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) ;) }))) (expression_statement "iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);" (assignment_expression "iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9)" identifier = (call_expression "(*(code *)PTR_strdup_0003f2f4)(puVar9)" (parenthesized_expression "(*(code *)PTR_strdup_0003f2f4)" ( (pointer_expression "*(code *)PTR_strdup_0003f2f4" * (cast_expression "(code *)PTR_strdup_0003f2f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar9)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);" (call_expression "FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x18)" * (cast_expression "(undefined4 *)(param_1 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) , (binary_expression "PTR_DAT_0003f05c + -0x24ec" identifier + number_literal) ))) ;) (expression_statement "unaff_s0 = 0;" (assignment_expression "unaff_s0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00026b0c:\n      uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4)" identifier (argument_list "(iVar14,PTR_DAT_0003f05c + -0x24b4)" ( identifier , (binary_expression "PTR_DAT_0003f05c + -0x24b4" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier)) ;) })) (expression_statement "*(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;" (assignment_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264" (pointer_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1)" * (cast_expression "(int **)((int)aiStack_2b0 + iVar7 + iVar1)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" ( (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) = (pointer_expression "&local_264" & identifier)) ;) (expression_statement "unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);" (assignment_expression "unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" identifier = (call_expression "FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" identifier (argument_list "(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" ( identifier , number_literal , identifier , (binary_expression "PTR_LAB_0003f084 + 0x5688" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar4);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar4)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) (if_statement "if (unaff_s0 != 1) goto LAB_00026b0c;" if (parenthesized_expression "(unaff_s0 != 1)" ( (binary_expression "unaff_s0 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00026b0c;" goto statement_identifier ;)) (expression_statement "iVar4 = local_264;" (assignment_expression "iVar4 = local_264" identifier = identifier) ;) (for_statement "for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }" for ( (assignment_expression "piVar8 = *(int **)(param_1 + 0x1c)" identifier = (pointer_expression "*(int **)(param_1 + 0x1c)" * (cast_expression "(int **)(param_1 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ; (binary_expression "piVar8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar8 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ) (compound_statement "{\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }" { (if_statement "if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }" if (parenthesized_expression "(piVar8[3] == 8)" ( (binary_expression "piVar8[3] == 8" (subscript_expression "piVar8[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }" { (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ;) (expression_statement "local_264 = iVar4;" (assignment_expression "local_264 = iVar4" identifier = identifier) ;) })) })) (if_statement "if (iVar4 != 0) goto LAB_00026b0c;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026b0c;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" ( (pointer_expression "*(code *)PTR_free_0003f2f8" * (cast_expression "(code *)PTR_free_0003f2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3])" identifier = (call_expression "(*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3])" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" ( (pointer_expression "*(code *)PTR_strcmp_0003f328" * (cast_expression "(code *)PTR_strcmp_0003f328" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_26c,param_2[3])" ( identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar13 = (uint)(iVar3 == 0);" (assignment_expression "uVar13 = (uint)(iVar3 == 0)" identifier = (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )))) ;) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" identifier = (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" identifier + identifier) + identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (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 ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = 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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + 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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + IDENT)) )) && (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + IDENT)) ))) )) (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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) + LIT) )))) = (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (labeled_statement statement_identifier : (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) (expression_statement (assignment_expression IDENT = (binary_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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) + IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) + IDENT) + IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (pointer_expression & IDENT) + IDENT) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (binary_expression (binary_expression IDENT + LIT) & LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression & IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - IDENT) ))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression & IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - IDENT) ))) , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression & IDENT) + IDENT) , (binary_expression (pointer_expression * IDENT) << LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (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 *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * IDENT) << LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( 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 ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( 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 ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , 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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "uint FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)\n\n{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}" (type_identifier "uint") (function_declarator "FUN_00026170(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)" (identifier "FUN_00026170") (parameter_list "(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,\n                 int param_7)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "undefined1 *param_5" (type_identifier "undefined1") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) (, ",") (parameter_declaration "int param_7" (primitive_type "int") (identifier "param_7")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int *piVar8;\n  undefined *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  int unaff_s0;\n  uint uVar13;\n  int iVar14;\n  undefined1 auStack_2c0 [16];\n  int aiStack_2b0 [4];\n  undefined1 *local_298;\n  undefined1 *local_294;\n  char *local_290;\n  undefined1 *local_28c;\n  undefined1 *local_288;\n  code *local_284;\n  int local_280;\n  undefined1 *local_27c;\n  undefined1 *local_278;\n  undefined1 *local_26c;\n  uint local_268;\n  int local_264;\n  undefined4 local_260;\n  undefined4 local_25c;\n  char local_258 [16];\n  undefined1 auStack_248 [12];\n  undefined1 auStack_23c [8];\n  undefined1 auStack_234 [132];\n  undefined1 auStack_1b0 [132];\n  undefined1 auStack_12c [256];\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_0003f2ec;\n  iVar7 = *param_2 * 2;\n  local_27c = param_5;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;\n  iVar14 = *(int *)(param_1 + 0x18);\n  local_280 = param_6;\n  iVar1 = -(iVar7 + 8U & 0xfffffff8);\n  local_278 = (undefined1 *)(iVar7 + 1);\n  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);\n  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);\n  if (iVar3 == 0) goto LAB_00026264;\n  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);\n  unaff_s0 = iVar3;\n  if (iVar4 != 0) goto LAB_00026264;\n  unaff_s0 = iVar3 + 7;\n  local_26c = auStack_12c;\n  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);\n  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);\n  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);\n  uVar13 = 0;\n  if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }\nLAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int unaff_s0;" (primitive_type "int") (identifier "unaff_s0") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined1 auStack_2c0 [16];" (type_identifier "undefined1") (array_declarator "auStack_2c0 [16]" (identifier "auStack_2c0") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int aiStack_2b0 [4];" (primitive_type "int") (array_declarator "aiStack_2b0 [4]" (identifier "aiStack_2b0") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 *local_298;" (type_identifier "undefined1") (pointer_declarator "*local_298" (* "*") (identifier "local_298")) (; ";")) (declaration "undefined1 *local_294;" (type_identifier "undefined1") (pointer_declarator "*local_294" (* "*") (identifier "local_294")) (; ";")) (declaration "char *local_290;" (primitive_type "char") (pointer_declarator "*local_290" (* "*") (identifier "local_290")) (; ";")) (declaration "undefined1 *local_28c;" (type_identifier "undefined1") (pointer_declarator "*local_28c" (* "*") (identifier "local_28c")) (; ";")) (declaration "undefined1 *local_288;" (type_identifier "undefined1") (pointer_declarator "*local_288" (* "*") (identifier "local_288")) (; ";")) (declaration "code *local_284;" (type_identifier "code") (pointer_declarator "*local_284" (* "*") (identifier "local_284")) (; ";")) (declaration "int local_280;" (primitive_type "int") (identifier "local_280") (; ";")) (declaration "undefined1 *local_27c;" (type_identifier "undefined1") (pointer_declarator "*local_27c" (* "*") (identifier "local_27c")) (; ";")) (declaration "undefined1 *local_278;" (type_identifier "undefined1") (pointer_declarator "*local_278" (* "*") (identifier "local_278")) (; ";")) (declaration "undefined1 *local_26c;" (type_identifier "undefined1") (pointer_declarator "*local_26c" (* "*") (identifier "local_26c")) (; ";")) (declaration "uint local_268;" (type_identifier "uint") (identifier "local_268") (; ";")) (declaration "int local_264;" (primitive_type "int") (identifier "local_264") (; ";")) (declaration "undefined4 local_260;" (type_identifier "undefined4") (identifier "local_260") (; ";")) (declaration "undefined4 local_25c;" (type_identifier "undefined4") (identifier "local_25c") (; ";")) (declaration "char local_258 [16];" (primitive_type "char") (array_declarator "local_258 [16]" (identifier "local_258") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auStack_248 [12];" (type_identifier "undefined1") (array_declarator "auStack_248 [12]" (identifier "auStack_248") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined1 auStack_23c [8];" (type_identifier "undefined1") (array_declarator "auStack_23c [8]" (identifier "auStack_23c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 auStack_234 [132];" (type_identifier "undefined1") (array_declarator "auStack_234 [132]" (identifier "auStack_234") ([ "[") (number_literal "132") (] "]")) (; ";")) (declaration "undefined1 auStack_1b0 [132];" (type_identifier "undefined1") (array_declarator "auStack_1b0 [132]" (identifier "auStack_1b0") ([ "[") (number_literal "132") (] "]")) (; ";")) (declaration "undefined1 auStack_12c [256];" (type_identifier "undefined1") (array_declarator "auStack_12c [256]" (identifier "auStack_12c") ([ "[") (number_literal "256") (] "]")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_0003f2ec;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0003f2ec" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_0003f2ec")) (; ";")) (expression_statement "iVar7 = *param_2 * 2;" (assignment_expression "iVar7 = *param_2 * 2" (identifier "iVar7") (= "=") (binary_expression "*param_2 * 2" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (* "*") (number_literal "2"))) (; ";")) (expression_statement "local_27c = param_5;" (assignment_expression "local_27c = param_5" (identifier "local_27c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003f2ec" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0003f2ec" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0003f2ec" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0003f2ec")))) (; ";")) (expression_statement "iVar14 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar14 = *(int *)(param_1 + 0x18)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_280 = param_6;" (assignment_expression "local_280 = param_6" (identifier "local_280") (= "=") (identifier "param_6")) (; ";")) (expression_statement "iVar1 = -(iVar7 + 8U & 0xfffffff8);" (assignment_expression "iVar1 = -(iVar7 + 8U & 0xfffffff8)" (identifier "iVar1") (= "=") (unary_expression "-(iVar7 + 8U & 0xfffffff8)" (- "-") (parenthesized_expression "(iVar7 + 8U & 0xfffffff8)" (( "(") (binary_expression "iVar7 + 8U & 0xfffffff8" (binary_expression "iVar7 + 8U" (identifier "iVar7") (+ "+") (number_literal "8U")) (& "&") (number_literal "0xfffffff8")) () ")")))) (; ";")) (expression_statement "local_278 = (undefined1 *)(iVar7 + 1);" (assignment_expression "local_278 = (undefined1 *)(iVar7 + 1)" (identifier "local_278") (= "=") (cast_expression "(undefined1 *)(iVar7 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 1)" (( "(") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar7 = -(iVar7 + 0x10U & 0xfffffff8);" (assignment_expression "iVar7 = -(iVar7 + 0x10U & 0xfffffff8)" (identifier "iVar7") (= "=") (unary_expression "-(iVar7 + 0x10U & 0xfffffff8)" (- "-") (parenthesized_expression "(iVar7 + 0x10U & 0xfffffff8)" (( "(") (binary_expression "iVar7 + 0x10U & 0xfffffff8" (binary_expression "iVar7 + 0x10U" (identifier "iVar7") (+ "+") (number_literal "0x10U")) (& "&") (number_literal "0xfffffff8")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);" (assignment_expression "iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634)" (parenthesized_expression "(*(code *)PTR_MHD_lookup_connection_value_0003f14c)" (( "(") (pointer_expression "*(code *)PTR_MHD_lookup_connection_value_0003f14c" (* "*") (cast_expression "(code *)PTR_MHD_lookup_connection_value_0003f14c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_MHD_lookup_connection_value_0003f14c"))) () ")")) (argument_list "(param_1,1,PTR_DAT_0003f05c + -0x2634)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2634" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2634")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_00026264;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026264;" (goto "goto") (statement_identifier "LAB_00026264") (; ";"))) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" (( "(") (pointer_expression "*(code *)PTR_strncmp_0003f174" (* "*") (cast_expression "(code *)PTR_strncmp_0003f174" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_0003f174"))) () ")")) (argument_list "(iVar3,PTR_DAT_0003f05c + -0x2624,7)" (( "(") (identifier "iVar3") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2624" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2624")) (, ",") (number_literal "7") () ")")))) (; ";")) (expression_statement "unaff_s0 = iVar3;" (assignment_expression "unaff_s0 = iVar3" (identifier "unaff_s0") (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar4 != 0) goto LAB_00026264;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026264;" (goto "goto") (statement_identifier "LAB_00026264") (; ";"))) (expression_statement "unaff_s0 = iVar3 + 7;" (assignment_expression "unaff_s0 = iVar3 + 7" (identifier "unaff_s0") (= "=") (binary_expression "iVar3 + 7" (identifier "iVar3") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "local_26c = auStack_12c;" (assignment_expression "local_26c = auStack_12c" (identifier "local_26c") (= "=") (identifier "auStack_12c")) (; ";")) (expression_statement "local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" (identifier "local_28c") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(unaff_s0)" (( "(") (identifier "unaff_s0") () ")"))))) (; ";")) (expression_statement "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);" (assignment_expression "local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c)" (identifier "local_284") (= "=") (cast_expression "(code *)(PTR_LAB_0003f084 + 0x5b8c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0003f084 + 0x5b8c)" (( "(") (binary_expression "PTR_LAB_0003f084 + 0x5b8c" (identifier "PTR_LAB_0003f084") (+ "+") (number_literal "0x5b8c")) () ")")))) (; ";")) (expression_statement "local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);" (assignment_expression "local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" (identifier "local_288") (= "=") (cast_expression "(undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" (identifier "FUN_00025b8c") (argument_list "(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c)" (( "(") (identifier "local_26c") (, ",") (number_literal "0x80") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x261c" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x261c")) () ")"))))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" (if "if") (parenthesized_expression "((local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0))" (( "(") (binary_expression "(local_288 != (undefined1 *)0x0) &&\n     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)" (parenthesized_expression "(local_288 != (undefined1 *)0x0)" (( "(") (binary_expression "local_288 != (undefined1 *)0x0" (identifier "local_288") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_0003f328)(param_4,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0003f328" (* "*") (cast_expression "(code *)PTR_strcmp_0003f328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0003f328"))) () ")")) (argument_list "(param_4,local_26c)" (( "(") (identifier "param_4") (, ",") (identifier "local_26c") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);\n    if (local_290 == (char *)0x0) goto LAB_00026264;\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);\n    if (iVar3 != 0) goto LAB_00026264;\n    local_294 = auStack_234;\n    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);\n    if (iVar3 == 0) goto LAB_00026264;\n    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);\n    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;\n    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);\n    if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }\n  }" ({ "{") (expression_statement "local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);" (assignment_expression "local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" (identifier "local_290") (= "=") (cast_expression "(char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" (parenthesized_expression "(*local_284)" (( "(") (pointer_expression "*local_284" (* "*") (identifier "local_284")) () ")")) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610)" (( "(") (identifier "local_26c") (, ",") (number_literal "0x100") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2610" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2610")) () ")"))))) (; ";")) (if_statement "if (local_290 == (char *)0x0) goto LAB_00026264;" (if "if") (parenthesized_expression "(local_290 == (char *)0x0)" (( "(") (binary_expression "local_290 == (char *)0x0" (identifier "local_290") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00026264;" (goto "goto") (statement_identifier "LAB_00026264") (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_0003f328)(param_3,local_26c)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0003f328" (* "*") (cast_expression "(code *)PTR_strcmp_0003f328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0003f328"))) () ")")) (argument_list "(param_3,local_26c)" (( "(") (identifier "param_3") (, ",") (identifier "local_26c") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_00026264;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026264;" (goto "goto") (statement_identifier "LAB_00026264") (; ";"))) (expression_statement "local_294 = auStack_234;" (assignment_expression "local_294 = auStack_234" (identifier "local_294") (= "=") (identifier "auStack_234")) (; ";")) (expression_statement "iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);" (assignment_expression "iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" (identifier "iVar3") (= "=") (call_expression "(*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" (parenthesized_expression "(*local_284)" (( "(") (pointer_expression "*local_284" (* "*") (identifier "local_284")) () ")")) (argument_list "(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608)" (( "(") (identifier "local_294") (, ",") (number_literal "0x81") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2608" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2608")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_00026264;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026264;" (goto "goto") (statement_identifier "LAB_00026264") (; ";"))) (expression_statement "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);" (assignment_expression "local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3)" (identifier "local_288") (= "=") (binary_expression "local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3)" (identifier "local_28c") (+ "+") (parenthesized_expression "(((-0xd - (int)local_288) - (int)local_290) - iVar3)" (( "(") (binary_expression "((-0xd - (int)local_288) - (int)local_290) - iVar3" (parenthesized_expression "((-0xd - (int)local_288) - (int)local_290)" (( "(") (binary_expression "(-0xd - (int)local_288) - (int)local_290" (parenthesized_expression "(-0xd - (int)local_288)" (( "(") (binary_expression "-0xd - (int)local_288" (number_literal "-0xd") (- "-") (cast_expression "(int)local_288" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_288"))) () ")")) (- "-") (cast_expression "(int)local_290" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_290"))) () ")")) (- "-") (identifier "iVar3")) () ")")))) (; ";")) (if_statement "if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;" (if "if") (parenthesized_expression "((undefined1 *)0x8000 < local_288 + -5)" (( "(") (binary_expression "(undefined1 *)0x8000 < local_288 + -5" (cast_expression "(undefined1 *)0x8000" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8000")) (< "<") (binary_expression "local_288 + -5" (identifier "local_288") (+ "+") (number_literal "-5"))) () ")")) (goto_statement "goto LAB_00026264;" (goto "goto") (statement_identifier "LAB_00026264") (; ";"))) (expression_statement "iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);" (assignment_expression "iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268)" (identifier "iVar3") (= "=") (call_expression "FUN_00021e94(local_294 + iVar3 + -8,8,&local_268)" (identifier "FUN_00021e94") (argument_list "(local_294 + iVar3 + -8,8,&local_268)" (( "(") (binary_expression "local_294 + iVar3 + -8" (binary_expression "local_294 + iVar3" (identifier "local_294") (+ "+") (identifier "iVar3")) (+ "+") (number_literal "-8")) (, ",") (number_literal "8") (, ",") (pointer_expression "&local_268" (& "&") (identifier "local_268")) () ")")))) (; ";")) (if_statement "if (iVar3 == 8) {\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }\n    else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" (if "if") (parenthesized_expression "(iVar3 == 8)" (( "(") (binary_expression "iVar3 == 8" (identifier "iVar3") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n      uVar13 = FUN_0002186c();\n      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }\n      uVar13 = 0xffffffff;\n    }" ({ "{") (expression_statement "uVar13 = FUN_0002186c();" (assignment_expression "uVar13 = FUN_0002186c()" (identifier "uVar13") (= "=") (call_expression "FUN_0002186c()" (identifier "FUN_0002186c") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" (if "if") (parenthesized_expression "((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7))" (( "(") (binary_expression "(uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)" (parenthesized_expression "(uVar13 <= local_268 + param_7)" (( "(") (binary_expression "uVar13 <= local_268 + param_7" (identifier "uVar13") (<= "<=") (binary_expression "local_268 + param_7" (identifier "local_268") (+ "+") (identifier "param_7"))) () ")")) (&& "&&") (parenthesized_expression "(local_268 <= local_268 + param_7)" (( "(") (binary_expression "local_268 <= local_268 + param_7" (identifier "local_268") (<= "<=") (binary_expression "local_268 + param_7" (identifier "local_268") (+ "+") (identifier "param_7"))) () ")"))) () ")")) (compound_statement "{\n        uVar10 = *(undefined4 *)(iVar14 + 0x144);\n        uVar6 = *(undefined4 *)(param_1 + 0x34);\n        uVar11 = *(undefined4 *)(iVar14 + 0x164);\n        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;\n        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;\n        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;\n        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);\n        FUN_00025760(local_268,uVar6,uVar10,uVar11);\n        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);\n        if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }\n      }" ({ "{") (expression_statement "uVar10 = *(undefined4 *)(iVar14 + 0x144);" (assignment_expression "uVar10 = *(undefined4 *)(iVar14 + 0x144)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(iVar14 + 0x144)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x144)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x144)" (( "(") (binary_expression "iVar14 + 0x144" (identifier "iVar14") (+ "+") (number_literal "0x144")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined4 *)(param_1 + 0x34);" (assignment_expression "uVar6 = *(undefined4 *)(param_1 + 0x34)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(iVar14 + 0x164);" (assignment_expression "uVar11 = *(undefined4 *)(iVar14 + 0x164)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(iVar14 + 0x164)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 0x164)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x164)" (( "(") (binary_expression "iVar14 + 0x164" (identifier "iVar14") (+ "+") (number_literal "0x164")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" (* "*") (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 0xc)" (( "(") (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 0xc" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_2b0")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "&stack0xfffffd60 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar7" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;" (assignment_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2" (pointer_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8)" (* "*") (cast_expression "(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 8)" (( "(") (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 8" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_2b0")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;" (assignment_expression "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3" (pointer_expression "*(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4)" (* "*") (cast_expression "(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1 + 4)" (( "(") (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1 + 4" (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_2b0")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38)" (pointer_expression "*(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1)" (* "*") (cast_expression "(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" (( "(") (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_2b0")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "FUN_00025760(local_268,uVar6,uVar10,uVar11);" (call_expression "FUN_00025760(local_268,uVar6,uVar10,uVar11)" (identifier "FUN_00025760") (argument_list "(local_268,uVar6,uVar10,uVar11)" (( "(") (identifier "local_268") (, ",") (identifier "uVar6") (, ",") (identifier "uVar10") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0003f328" (* "*") (cast_expression "(code *)PTR_strcmp_0003f328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0003f328"))) () ")")) (argument_list "(local_294,&stack0xfffffd60 + iVar7 + iVar1)" (( "(") (identifier "local_294") (, ",") (binary_expression "&stack0xfffffd60 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar7" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_28c = auStack_1b0;\n          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);\n          uVar13 = 0;\n          if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }\n          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);\n          goto LAB_00026268;\n        }" ({ "{") (expression_statement "local_28c = auStack_1b0;" (assignment_expression "local_28c = auStack_1b0" (identifier "local_28c") (= "=") (identifier "auStack_1b0")) (; ";")) (expression_statement "iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);" (assignment_expression "iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" (identifier "iVar3") (= "=") (call_expression "(*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" (parenthesized_expression "(*local_284)" (( "(") (pointer_expression "*local_284" (* "*") (identifier "local_284")) () ")")) (argument_list "(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc)" (( "(") (identifier "local_28c") (, ",") (number_literal "0x81") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x25cc" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x25cc")) () ")")))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar3 != 0) {\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_290 = local_258;\n            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);\n            if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }\n          }" ({ "{") (expression_statement "local_290 = local_258;" (assignment_expression "local_290 = local_258" (identifier "local_290") (= "=") (identifier "local_258")) (; ";")) (expression_statement "iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);" (assignment_expression "iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" (identifier "iVar3") (= "=") (call_expression "(*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" (parenthesized_expression "(*local_284)" (( "(") (pointer_expression "*local_284" (* "*") (identifier "local_284")) () ")")) (argument_list "(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c)" (( "(") (identifier "local_290") (, ",") (number_literal "0xf") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x259c" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x259c")) () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))) {\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" (if "if") (parenthesized_expression "((iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0'))))" (( "(") (binary_expression "(iVar3 != 0) &&\n               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')))" (( "(") (parenthesized_expression "(iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0'))" (( "(") (comma_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),\n                iVar3 == 0 || (local_258[0] == '\0')" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598)" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0003f328" (* "*") (cast_expression "(code *)PTR_strcmp_0003f328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0003f328"))) () ")")) (argument_list "(local_290,PTR_DAT_0003f05c + -0x2598)" (( "(") (identifier "local_290") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2598" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2598")) () ")")))) (, ",") (binary_expression "iVar3 == 0 || (local_258[0] == '\0')" (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(local_258[0] == '\0')" (( "(") (binary_expression "local_258[0] == '\0'" (subscript_expression "local_258[0]" (identifier "local_258") ([ "[") (number_literal "0") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n              local_298 = auStack_248;\n              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);\n              if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }\n            }" ({ "{") (expression_statement "local_298 = auStack_248;" (assignment_expression "local_298 = auStack_248" (identifier "local_298") (= "=") (identifier "auStack_248")) (; ";")) (expression_statement "iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);" (assignment_expression "iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" (identifier "iVar3") (= "=") (call_expression "(*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" (parenthesized_expression "(*local_284)" (( "(") (pointer_expression "*local_284" (* "*") (identifier "local_284")) () ")")) (argument_list "(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590)" (( "(") (identifier "local_298") (, ",") (number_literal "0x14") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2590" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2590")) () ")")))) (; ";")) (if_statement "if ((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)) {\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" (if "if") (parenthesized_expression "((iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0))" (( "(") (binary_expression "(iVar3 != 0) &&\n                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0)" (( "(") (comma_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),\n                 iVar4 != 0" (assignment_expression "iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" (identifier "iVar4") (= "=") (call_expression "(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" (parenthesized_expression "(*local_284)" (( "(") (pointer_expression "*local_284" (* "*") (identifier "local_284")) () ")")) (argument_list "(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c)" (( "(") (identifier "local_26c") (, ",") (number_literal "0x100") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x258c" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x258c")) () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                iVar4 = FUN_00022050(local_298,iVar3,&local_260);\n                if (iVar4 == iVar3) goto LAB_000265c4;\n                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);\n                goto LAB_00026268;\n              }" ({ "{") (expression_statement "iVar4 = FUN_00022050(local_298,iVar3,&local_260);" (assignment_expression "iVar4 = FUN_00022050(local_298,iVar3,&local_260)" (identifier "iVar4") (= "=") (call_expression "FUN_00022050(local_298,iVar3,&local_260)" (identifier "FUN_00022050") (argument_list "(local_298,iVar3,&local_260)" (( "(") (identifier "local_298") (, ",") (identifier "iVar3") (, ",") (pointer_expression "&local_260" (& "&") (identifier "local_260")) () ")")))) (; ";")) (if_statement "if (iVar4 == iVar3) goto LAB_000265c4;" (if "if") (parenthesized_expression "(iVar4 == iVar3)" (( "(") (binary_expression "iVar4 == iVar3" (identifier "iVar4") (== "==") (identifier "iVar3")) () ")")) (goto_statement "goto LAB_000265c4;" (goto "goto") (statement_identifier "LAB_000265c4") (; ";"))) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580)" (identifier "FUN_00020df0") (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2580)" (( "(") (identifier "iVar14") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2580" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2580")) () ")"))) (; ";")) (goto_statement "goto LAB_00026268;" (goto "goto") (statement_identifier "LAB_00026268") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4)" (identifier "FUN_00020df0") (argument_list "(iVar14,PTR_DAT_0003f05c + -0x25c4)" (( "(") (identifier "iVar14") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x25c4" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x25c4")) () ")"))) (; ";")) (goto_statement "goto LAB_00026268;" (goto "goto") (statement_identifier "LAB_00026268") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar13 = 0xffffffff;" (assignment_expression "uVar13 = 0xffffffff" (identifier "uVar13") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else {\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" (else "else") (compound_statement "{\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);\n      uVar13 = 0;\n    }" ({ "{") (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600)" (identifier "FUN_00020df0") (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2600)" (( "(") (identifier "iVar14") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2600" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2600")) () ")"))) (; ";")) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00026268:\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );" (statement_identifier "LAB_00026268") (: ":") (do_statement "do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  } while( true );" (do "do") (compound_statement "{\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }\n    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;\n    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);\n    (*(code *)PTR_free_0003f2f8)(iVar4);\n    if (unaff_s0 != 1) goto LAB_00026b0c;\n    iVar4 = local_264;\n    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }\n    if (iVar4 != 0) goto LAB_00026b0c;\n    (*(code *)PTR_free_0003f2f8)(iVar3);\n    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);\n    uVar13 = (uint)(iVar3 == 0);\n    local_278 = auStack_2c0 + iVar7 + iVar1;\n  }" ({ "{") (while_statement "while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }\n      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);\n      if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }\n      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);\n      if (iVar4 != 0) break;\n      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);\n      unaff_s0 = 0;\nLAB_00026b0c:\n      uVar13 = 0;\n      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);\n      (*(code *)PTR_free_0003f2f8)(iVar3);\n      local_278 = auStack_2c0 + iVar7 + iVar1;\n    }" ({ "{") (while_statement "while( true ) {\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }\n        puVar12 = (undefined1 *)param_2[2];\n        if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }\n        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);\n        param_3 = *param_2;\n        local_280 = *(int *)(param_1 + 0x34);\n        uVar5 = param_3 + 7U & 0xfffffff8;\n        (*(code *)param_2[4])(param_2[1]);\n        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);\n        (*(code *)param_2[5])(param_2[1],local_280,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);\n        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);\n        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));\n        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);\n        (*(code *)param_2[4])(param_2[1]);\n        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);\n        (*(code *)param_2[5])(param_2[1],local_294,uVar6);\n        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }\n        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);\n        (*(code *)param_2[6])(param_2[1],local_27c);\n        FUN_000255f0(local_27c,param_3,param_2[3]);\n        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);\n        unaff_s0 = *(int *)(param_1 + 0x38);\n        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);\n        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);\n        param_4 = iVar3;\n        if (iVar4 == 0) break;\n        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);\n        (*(code *)PTR_free_0003f2f8)(iVar3);\n        local_278 = auStack_2c0 + iVar7 + iVar1;\n      }" ({ "{") (while_statement "while( true ) {\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }\n          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);\n          puVar9 = PTR_DAT_0003f05c;\n          if (iVar4 != 0) break;\n          (*(code *)PTR_free_0003f2f8)(iVar3);\n        }" ({ "{") (while_statement "while( true ) {\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }\n            local_288 = local_288 + -4;\n            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);\n            if (iVar3 != 0) break;\n            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);\n          }" ({ "{") (while_statement "while( true ) {\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }\n              (*(code *)PTR___stack_chk_fail_0003f2b8)();\nLAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);\n              if (iVar3 == 1) break;\nLAB_00026264:\n              uVar13 = 0;\n            }" ({ "{") (if_statement "if (local_2c == *(int *)puVar2) {\n                return uVar13;\n              }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar2)" (( "(") (binary_expression "local_2c == *(int *)puVar2" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n                return uVar13;\n              }" ({ "{") (return_statement "return uVar13;" (return "return") (identifier "uVar13") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f2b8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f2b8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0003f2b8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0003f2b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0003f2b8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000265c4:\n              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);" (statement_identifier "LAB_000265c4") (: ":") (expression_statement "iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);" (assignment_expression "iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" (identifier "iVar3") (= "=") (call_expression "FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" (identifier "FUN_00025dc4") (argument_list "(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (identifier "local_294") (, ",") (identifier "local_260") (, ",") (identifier "local_25c") () ")")))) (; ";"))) (if_statement "if (iVar3 == 1) break;" (if "if") (parenthesized_expression "(iVar3 == 1)" (( "(") (binary_expression "iVar3 == 1" (identifier "iVar3") (== "==") (number_literal "1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00026264:\n              uVar13 = 0;" (statement_identifier "LAB_00026264") (: ":") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";"))) (} "}"))) (expression_statement "local_288 = local_288 + -4;" (assignment_expression "local_288 = local_288 + -4" (identifier "local_288") (= "=") (binary_expression "local_288 + -4" (identifier "local_288") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_malloc_0003f25c)(local_288)" (parenthesized_expression "(*(code *)PTR_malloc_0003f25c)" (( "(") (pointer_expression "*(code *)PTR_malloc_0003f25c" (* "*") (cast_expression "(code *)PTR_malloc_0003f25c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_malloc_0003f25c"))) () ")")) (argument_list "(local_288)" (( "(") (identifier "local_288") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) break;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554)" (identifier "FUN_00020df0") (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2554)" (( "(") (identifier "iVar14") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2554" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2554")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);" (assignment_expression "iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" (identifier "iVar4") (= "=") (call_expression "(*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" (parenthesized_expression "(*local_284)" (( "(") (pointer_expression "*local_284" (* "*") (identifier "local_284")) () ")")) (argument_list "(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c)" (( "(") (identifier "iVar3") (, ",") (identifier "local_288") (, ",") (identifier "unaff_s0") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x251c" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x251c")) () ")")))) (; ";")) (expression_statement "puVar9 = PTR_DAT_0003f05c;" (assignment_expression "puVar9 = PTR_DAT_0003f05c" (identifier "puVar9") (= "=") (identifier "PTR_DAT_0003f05c")) (; ";")) (if_statement "if (iVar4 != 0) break;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" (( "(") (pointer_expression "*(code *)PTR_free_0003f2f8" (* "*") (cast_expression "(code *)PTR_free_0003f2f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003f2f8"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar12 = (undefined1 *)param_2[2];" (assignment_expression "puVar12 = (undefined1 *)param_2[2]" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)param_2[2]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (local_280 == 0) {\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }\n        else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" (if "if") (parenthesized_expression "(local_280 == 0)" (( "(") (binary_expression "local_280 == 0" (identifier "local_280") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar4 = -(*param_2 + 7U & 0xfffffff8);\n          (*(code *)param_2[4])(param_2[1]);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);\n          (*(code *)param_2[5])(param_2[1],param_4,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);\n          (*(code *)param_2[5])(param_2[1],param_3,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);\n          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);\n          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);\n          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);\n          local_288 = puVar12;\n          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);\n        }" ({ "{") (expression_statement "iVar4 = -(*param_2 + 7U & 0xfffffff8);" (assignment_expression "iVar4 = -(*param_2 + 7U & 0xfffffff8)" (identifier "iVar4") (= "=") (unary_expression "-(*param_2 + 7U & 0xfffffff8)" (- "-") (parenthesized_expression "(*param_2 + 7U & 0xfffffff8)" (( "(") (binary_expression "*param_2 + 7U & 0xfffffff8" (binary_expression "*param_2 + 7U" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "7U")) (& "&") (number_literal "0xfffffff8")) () ")")))) (; ";")) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" (( "(") (pointer_expression "*(code *)param_2[4]" (* "*") (cast_expression "(code *)param_2[4]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) () ")")) (argument_list "(param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(param_4)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(param_4)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],param_4,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],param_4,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],param_4,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_4") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(param_3)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(param_3)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],param_3,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],param_3,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],param_3,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_3") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(local_27c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(local_27c)" (( "(") (identifier "local_27c") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],local_27c,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_27c,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],local_27c,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_27c") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);" (call_expression "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1)" (parenthesized_expression "(*(code *)param_2[6])" (( "(") (pointer_expression "*(code *)param_2[6]" (* "*") (cast_expression "(code *)param_2[6]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")))) () ")")) (argument_list "(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "&stack0xfffffd60 + iVar4 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar7" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (identifier "iVar4")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) () ")"))) (; ";")) (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" (* "*") (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)aiStack_2b0 + iVar4 + iVar7 + iVar1)" (( "(") (binary_expression "(int)aiStack_2b0 + iVar4 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar4 + iVar7" (binary_expression "(int)aiStack_2b0 + iVar4" (cast_expression "(int)aiStack_2b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_2b0")) (+ "+") (identifier "iVar4")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (identifier "local_28c")) (; ";")) (expression_statement "FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);" (call_expression "FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294)" (identifier "FUN_000259a4") (argument_list "(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294)" (( "(") (identifier "puVar12") (, ",") (identifier "param_2") (, ",") (binary_expression "&stack0xfffffd60 + iVar4 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + iVar4 + iVar7" (binary_expression "&stack0xfffffd60 + iVar4" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (identifier "iVar4")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) (, ",") (identifier "local_294") () ")"))) (; ";")) (expression_statement "local_288 = puVar12;" (assignment_expression "local_288 = puVar12" (identifier "local_288") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);" (assignment_expression "local_284 = (code *)(auStack_2c0 + iVar7 + iVar1)" (identifier "local_284") (= "=") (cast_expression "(code *)(auStack_2c0 + iVar7 + iVar1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_2c0 + iVar7 + iVar1)" (( "(") (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" (identifier "auStack_2c0") (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" (else "else") (compound_statement "{\n          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;\n          FUN_000259a4(puVar12,param_2,local_280,local_294);\n        }" ({ "{") (expression_statement "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;" (assignment_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c" (pointer_expression "*(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1)" (* "*") (cast_expression "(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" (( "(") (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_2b0")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (identifier "local_28c")) (; ";")) (expression_statement "FUN_000259a4(puVar12,param_2,local_280,local_294);" (call_expression "FUN_000259a4(puVar12,param_2,local_280,local_294)" (identifier "FUN_000259a4") (argument_list "(puVar12,param_2,local_280,local_294)" (( "(") (identifier "puVar12") (, ",") (identifier "param_2") (, ",") (identifier "local_280") (, ",") (identifier "local_294") () ")"))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);" (call_expression "(*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278)" (parenthesized_expression "(*(code *)PTR_memcpy_0003f2f0)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0003f2f0" (* "*") (cast_expression "(code *)PTR_memcpy_0003f2f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0003f2f0"))) () ")")) (argument_list "(&stack0xfffffd60 + iVar1,param_2[3],local_278)" (( "(") (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (identifier "iVar1")) (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "local_278") () ")"))) (; ";")) (expression_statement "param_3 = *param_2;" (assignment_expression "param_3 = *param_2" (identifier "param_3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "local_280 = *(int *)(param_1 + 0x34);" (assignment_expression "local_280 = *(int *)(param_1 + 0x34)" (identifier "local_280") (= "=") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "uVar5 = param_3 + 7U & 0xfffffff8;" (assignment_expression "uVar5 = param_3 + 7U & 0xfffffff8" (identifier "uVar5") (= "=") (binary_expression "param_3 + 7U & 0xfffffff8" (binary_expression "param_3 + 7U" (identifier "param_3") (+ "+") (number_literal "7U")) (& "&") (number_literal "0xfffffff8"))) (; ";")) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" (( "(") (pointer_expression "*(code *)param_2[4]" (* "*") (cast_expression "(code *)param_2[4]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) () ")")) (argument_list "(param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;" (assignment_expression "local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1" (identifier "local_27c") (= "=") (binary_expression "&stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1" (binary_expression "&stack0xfffffd60 + uVar5 * -2 + iVar7" (binary_expression "&stack0xfffffd60 + uVar5 * -2" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (binary_expression "uVar5 * -2" (identifier "uVar5") (* "*") (number_literal "-2"))) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_280)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(local_280)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(local_280)" (( "(") (identifier "local_280") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],local_280,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_280,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],local_280,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_280") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],iVar3,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],iVar3,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],iVar3,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "iVar3") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));" (call_expression "(*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5))" (parenthesized_expression "(*(code *)param_2[6])" (( "(") (pointer_expression "*(code *)param_2[6]" (* "*") (cast_expression "(code *)param_2[6]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")))) () ")")) (argument_list "(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5))" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5)" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (parenthesized_expression "((iVar7 + iVar1) - uVar5)" (( "(") (binary_expression "(iVar7 + iVar1) - uVar5" (parenthesized_expression "(iVar7 + iVar1)" (( "(") (binary_expression "iVar7 + iVar1" (identifier "iVar7") (+ "+") (identifier "iVar1")) () ")")) (- "-") (identifier "uVar5")) () ")"))) () ")"))) (; ";")) (expression_statement "FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);" (call_expression "FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3])" (identifier "FUN_000255f0") (argument_list "(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3])" (( "(") (binary_expression "&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5)" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (parenthesized_expression "((iVar7 + iVar1) - uVar5)" (( "(") (binary_expression "(iVar7 + iVar1) - uVar5" (parenthesized_expression "(iVar7 + iVar1)" (( "(") (binary_expression "iVar7 + iVar1" (identifier "iVar7") (+ "+") (identifier "iVar1")) () ")")) (- "-") (identifier "uVar5")) () ")"))) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)param_2[4])(param_2[1]);" (call_expression "(*(code *)param_2[4])(param_2[1])" (parenthesized_expression "(*(code *)param_2[4])" (( "(") (pointer_expression "*(code *)param_2[4]" (* "*") (cast_expression "(code *)param_2[4]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) () ")")) (argument_list "(param_2[1])" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);" (call_expression "(*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "&stack0xfffffd60 + iVar1" (pointer_expression "&stack0xfffffd60" (& "&") (identifier "stack0xfffffd60")) (+ "+") (identifier "iVar1")) (, ",") (binary_expression "*param_2 << 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (<< "<<") (number_literal "1")) () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_294)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(local_294)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(local_294)" (( "(") (identifier "local_294") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],local_294,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_294,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],local_294,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_294") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (if_statement "if (local_258[0] != '\0') {\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }" (if "if") (parenthesized_expression "(local_258[0] != '\0')" (( "(") (binary_expression "local_258[0] != '\0'" (subscript_expression "local_258[0]" (identifier "local_258") ([ "[") (number_literal "0") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);\n          (*(code *)param_2[5])(param_2[1],local_298,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);\n          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);\n          (*(code *)param_2[5])(param_2[1],local_290,uVar6);\n          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);\n        }" ({ "{") (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_298)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(local_298)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(local_298)" (( "(") (identifier "local_298") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],local_298,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_298,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],local_298,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_298") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(local_28c)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(local_28c)" (( "(") (identifier "local_28c") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],local_28c,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_28c,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],local_28c,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_28c") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(local_290)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(local_290)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(local_290)" (( "(") (identifier "local_290") () ")")))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],local_290,uVar6);" (call_expression "(*(code *)param_2[5])(param_2[1],local_290,uVar6)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],local_290,uVar6)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_290") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);" (call_expression "(*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],puVar9 + -0x26d0,1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "puVar9 + -0x26d0" (identifier "puVar9") (+ "+") (number_literal "-0x26d0")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);" (call_expression "(*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1)" (parenthesized_expression "(*(code *)param_2[5])" (( "(") (pointer_expression "*(code *)param_2[5]" (* "*") (cast_expression "(code *)param_2[5]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")")) (argument_list "(param_2[1],param_2[3],*param_2 << 1)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "*param_2 << 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (<< "<<") (number_literal "1")) () ")"))) (; ";")) (expression_statement "(*(code *)param_2[6])(param_2[1],local_27c);" (call_expression "(*(code *)param_2[6])(param_2[1],local_27c)" (parenthesized_expression "(*(code *)param_2[6])" (( "(") (pointer_expression "*(code *)param_2[6]" (* "*") (cast_expression "(code *)param_2[6]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")))) () ")")) (argument_list "(param_2[1],local_27c)" (( "(") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "local_27c") () ")"))) (; ";")) (expression_statement "FUN_000255f0(local_27c,param_3,param_2[3]);" (call_expression "FUN_000255f0(local_27c,param_3,param_2[3])" (identifier "FUN_000255f0") (argument_list "(local_27c,param_3,param_2[3])" (( "(") (identifier "local_27c") (, ",") (identifier "param_3") (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);" (call_expression "(**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3)" (parenthesized_expression "(**(code **)(iVar14 + 0x60))" (( "(") (pointer_expression "**(code **)(iVar14 + 0x60)" (* "*") (pointer_expression "*(code **)(iVar14 + 0x60)" (* "*") (cast_expression "(code **)(iVar14 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x60)" (( "(") (binary_expression "iVar14 + 0x60" (identifier "iVar14") (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar14 + 100),param_1,iVar3)" (( "(") (pointer_expression "*(undefined4 *)(iVar14 + 100)" (* "*") (cast_expression "(undefined4 *)(iVar14 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 100)" (( "(") (binary_expression "iVar14 + 100" (identifier "iVar14") (+ "+") (number_literal "100")) () ")")))) (, ",") (identifier "param_1") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "unaff_s0 = *(int *)(param_1 + 0x38);" (assignment_expression "unaff_s0 = *(int *)(param_1 + 0x38)" (identifier "unaff_s0") (= "=") (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);" (assignment_expression "uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strlen_0003f228)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_strlen_0003f228)" (( "(") (pointer_expression "*(code *)PTR_strlen_0003f228" (* "*") (cast_expression "(code *)PTR_strlen_0003f228" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0003f228"))) () ")")) (argument_list "(unaff_s0)" (( "(") (identifier "unaff_s0") () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);" (assignment_expression "iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6)" (parenthesized_expression "(*(code *)PTR_strncmp_0003f174)" (( "(") (pointer_expression "*(code *)PTR_strncmp_0003f174" (* "*") (cast_expression "(code *)PTR_strncmp_0003f174" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncmp_0003f174"))) () ")")) (argument_list "(iVar3,unaff_s0,uVar6)" (( "(") (identifier "iVar3") (, ",") (identifier "unaff_s0") (, ",") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "param_4 = iVar3;" (assignment_expression "param_4 = iVar3" (identifier "param_4") (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar4 == 0) break;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518)" (identifier "FUN_00020df0") (argument_list "(iVar14,PTR_DAT_0003f05c + -0x2518)" (( "(") (identifier "iVar14") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x2518" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x2518")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" (( "(") (pointer_expression "*(code *)PTR_free_0003f2f8" (* "*") (cast_expression "(code *)PTR_free_0003f2f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003f2f8"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" (identifier "local_278") (= "=") (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" (identifier "auStack_2c0") (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1"))) (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);" (assignment_expression "iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strchr_0003f234)(iVar3,0x3f)" (parenthesized_expression "(*(code *)PTR_strchr_0003f234)" (( "(") (pointer_expression "*(code *)PTR_strchr_0003f234" (* "*") (cast_expression "(code *)PTR_strchr_0003f234" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strchr_0003f234"))) () ")")) (argument_list "(iVar3,0x3f)" (( "(") (identifier "iVar3") (, ",") (number_literal "0x3f") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }\n      else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar9 = PTR_DAT_0003f05c + -0x47bc;\n      }" ({ "{") (expression_statement "puVar9 = PTR_DAT_0003f05c + -0x47bc;" (assignment_expression "puVar9 = PTR_DAT_0003f05c + -0x47bc" (identifier "puVar9") (= "=") (binary_expression "PTR_DAT_0003f05c + -0x47bc" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x47bc"))) (; ";")) (} "}")) (else_clause "else {\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" (else "else") (compound_statement "{\n        puVar9 = (undefined *)(iVar4 + 1);\n      }" ({ "{") (expression_statement "puVar9 = (undefined *)(iVar4 + 1);" (assignment_expression "puVar9 = (undefined *)(iVar4 + 1)" (identifier "puVar9") (= "=") (cast_expression "(undefined *)(iVar4 + 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 1)" (( "(") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (expression_statement "iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);" (assignment_expression "iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strdup_0003f2f4)(puVar9)" (parenthesized_expression "(*(code *)PTR_strdup_0003f2f4)" (( "(") (pointer_expression "*(code *)PTR_strdup_0003f2f4" (* "*") (cast_expression "(code *)PTR_strdup_0003f2f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strdup_0003f2f4"))) () ")")) (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) break;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);" (call_expression "FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec)" (identifier "FUN_00020df0") (argument_list "(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (binary_expression "PTR_DAT_0003f05c + -0x24ec" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x24ec")) () ")"))) (; ";")) (expression_statement "unaff_s0 = 0;" (assignment_expression "unaff_s0 = 0" (identifier "unaff_s0") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00026b0c:\n      uVar13 = 0;" (statement_identifier "LAB_00026b0c") (: ":") (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";"))) (expression_statement "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);" (call_expression "FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4)" (identifier "FUN_00020df0") (argument_list "(iVar14,PTR_DAT_0003f05c + -0x24b4)" (( "(") (identifier "iVar14") (, ",") (binary_expression "PTR_DAT_0003f05c + -0x24b4" (identifier "PTR_DAT_0003f05c") (+ "+") (number_literal "-0x24b4")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" (( "(") (pointer_expression "*(code *)PTR_free_0003f2f8" (* "*") (cast_expression "(code *)PTR_free_0003f2f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003f2f8"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" (identifier "local_278") (= "=") (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" (identifier "auStack_2c0") (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1"))) (; ";")) (} "}"))) (expression_statement "*(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;" (assignment_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264" (pointer_expression "*(int **)((int)aiStack_2b0 + iVar7 + iVar1)" (* "*") (cast_expression "(int **)((int)aiStack_2b0 + iVar7 + iVar1)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)aiStack_2b0 + iVar7 + iVar1)" (( "(") (binary_expression "(int)aiStack_2b0 + iVar7 + iVar1" (binary_expression "(int)aiStack_2b0 + iVar7" (cast_expression "(int)aiStack_2b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "aiStack_2b0")) (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1")) () ")")))) (= "=") (pointer_expression "&local_264" (& "&") (identifier "local_264"))) (; ";")) (expression_statement "unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);" (assignment_expression "unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" (identifier "unaff_s0") (= "=") (call_expression "FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" (identifier "FUN_00020fd0") (argument_list "(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (identifier "iVar4") (, ",") (binary_expression "PTR_LAB_0003f084 + 0x5688" (identifier "PTR_LAB_0003f084") (+ "+") (number_literal "0x5688")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar4);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar4)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" (( "(") (pointer_expression "*(code *)PTR_free_0003f2f8" (* "*") (cast_expression "(code *)PTR_free_0003f2f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003f2f8"))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (if_statement "if (unaff_s0 != 1) goto LAB_00026b0c;" (if "if") (parenthesized_expression "(unaff_s0 != 1)" (( "(") (binary_expression "unaff_s0 != 1" (identifier "unaff_s0") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_00026b0c;" (goto "goto") (statement_identifier "LAB_00026b0c") (; ";"))) (expression_statement "iVar4 = local_264;" (assignment_expression "iVar4 = local_264" (identifier "iVar4") (= "=") (identifier "local_264")) (; ";")) (for_statement "for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }" (for "for") (( "(") (assignment_expression "piVar8 = *(int **)(param_1 + 0x1c)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(param_1 + 0x1c)" (* "*") (cast_expression "(int **)(param_1 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";") (binary_expression "piVar8 != (int *)0x0" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "piVar8 = (int *)*piVar8" (identifier "piVar8") (= "=") (cast_expression "(int *)*piVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")))) () ")") (compound_statement "{\n      if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }\n    }" ({ "{") (if_statement "if (piVar8[3] == 8) {\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }" (if "if") (parenthesized_expression "(piVar8[3] == 8)" (( "(") (binary_expression "piVar8[3] == 8" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "8")) () ")")) (compound_statement "{\n        iVar4 = iVar4 + -1;\n        local_264 = iVar4;\n      }" ({ "{") (expression_statement "iVar4 = iVar4 + -1;" (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "local_264 = iVar4;" (assignment_expression "local_264 = iVar4" (identifier "local_264") (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar4 != 0) goto LAB_00026b0c;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026b0c;" (goto "goto") (statement_identifier "LAB_00026b0c") (; ";"))) (expression_statement "(*(code *)PTR_free_0003f2f8)(iVar3);" (call_expression "(*(code *)PTR_free_0003f2f8)(iVar3)" (parenthesized_expression "(*(code *)PTR_free_0003f2f8)" (( "(") (pointer_expression "*(code *)PTR_free_0003f2f8" (* "*") (cast_expression "(code *)PTR_free_0003f2f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003f2f8"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);" (assignment_expression "iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3])" (parenthesized_expression "(*(code *)PTR_strcmp_0003f328)" (( "(") (pointer_expression "*(code *)PTR_strcmp_0003f328" (* "*") (cast_expression "(code *)PTR_strcmp_0003f328" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_0003f328"))) () ")")) (argument_list "(local_26c,param_2[3])" (( "(") (identifier "local_26c") (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "uVar13 = (uint)(iVar3 == 0);" (assignment_expression "uVar13 = (uint)(iVar3 == 0)" (identifier "uVar13") (= "=") (call_expression "(uint)(iVar3 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")))) (; ";")) (expression_statement "local_278 = auStack_2c0 + iVar7 + iVar1;" (assignment_expression "local_278 = auStack_2c0 + iVar7 + iVar1" (identifier "local_278") (= "=") (binary_expression "auStack_2c0 + iVar7 + iVar1" (binary_expression "auStack_2c0 + iVar7" (identifier "auStack_2c0") (+ "+") (identifier "iVar7")) (+ "+") (identifier "iVar1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (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: (type_identifier) 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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (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) (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))) (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) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)) 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: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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: (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) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) (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: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (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) (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (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: (identifier) right: (number_literal))))) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (identifier)) right: (identifier))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (identifier)) right: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (identifier))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (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)) 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: (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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (identifier)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (identifier)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)))) (pointer_expression argument: (identifier)) (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) 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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (subscript_expression argument: (identifier) index: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal))))) (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))))) 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: (parenthesized_expression (binary_expression left: (identifier) right: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (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: (identifier) right: (number_literal))))) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (identifier))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (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: (identifier))) (for_statement initializer: (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)))))) condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) body: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) condition: (parenthesized_expression (true)))))))

uint MASKED(int param_1,int *param_2,int param_3,int param_4,undefined1 *param_5,int param_6,
                 int param_7)

{
  int iVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  uint uVar5;
  undefined4 uVar6;
  int iVar7;
  int *piVar8;
  undefined *puVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined1 *puVar12;
  int unaff_s0;
  uint uVar13;
  int iVar14;
  undefined1 auStack_2c0 [16];
  int aiStack_2b0 [4];
  undefined1 *local_298;
  undefined1 *local_294;
  char *local_290;
  undefined1 *local_28c;
  undefined1 *local_288;
  code *local_284;
  int local_280;
  undefined1 *local_27c;
  undefined1 *local_278;
  undefined1 *local_26c;
  uint local_268;
  int local_264;
  undefined4 local_260;
  undefined4 local_25c;
  char local_258 [16];
  undefined1 auStack_248 [12];
  undefined1 auStack_23c [8];
  undefined1 auStack_234 [132];
  undefined1 auStack_1b0 [132];
  undefined1 auStack_12c [256];
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_0003f2ec;
  iVar7 = *param_2 * 2;
  local_27c = param_5;
  local_2c = *(int *)PTR___stack_chk_guard_0003f2ec;
  iVar14 = *(int *)(param_1 + 0x18);
  local_280 = param_6;
  iVar1 = -(iVar7 + 8U & 0xfffffff8);
  local_278 = (undefined1 *)(iVar7 + 1);
  iVar7 = -(iVar7 + 0x10U & 0xfffffff8);
  iVar3 = (*(code *)PTR_MHD_lookup_connection_value_0003f14c)(param_1,1,PTR_DAT_0003f05c + -0x2634);
  if (iVar3 == 0) goto LAB_00026264;
  iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,PTR_DAT_0003f05c + -0x2624,7);
  unaff_s0 = iVar3;
  if (iVar4 != 0) goto LAB_00026264;
  unaff_s0 = iVar3 + 7;
  local_26c = auStack_12c;
  local_28c = (undefined1 *)(*(code *)PTR_strlen_0003f228)(unaff_s0);
  local_284 = (code *)(PTR_LAB_0003f084 + 0x5b8c);
  local_288 = (undefined1 *)FUN_00025b8c(local_26c,0x80,unaff_s0,PTR_DAT_0003f05c + -0x261c);
  uVar13 = 0;
  if ((local_288 != (undefined1 *)0x0) &&
     (iVar3 = (*(code *)PTR_strcmp_0003f328)(param_4,local_26c), iVar3 == 0)) {
    local_290 = (char *)(*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x2610);
    if (local_290 == (char *)0x0) goto LAB_00026264;
    iVar3 = (*(code *)PTR_strcmp_0003f328)(param_3,local_26c);
    if (iVar3 != 0) goto LAB_00026264;
    local_294 = auStack_234;
    iVar3 = (*local_284)(local_294,0x81,unaff_s0,PTR_DAT_0003f05c + -0x2608);
    if (iVar3 == 0) goto LAB_00026264;
    local_288 = local_28c + (((-0xd - (int)local_288) - (int)local_290) - iVar3);
    if ((undefined1 *)0x8000 < local_288 + -5) goto LAB_00026264;
    iVar3 = FUN_00021e94(local_294 + iVar3 + -8,8,&local_268);
    if (iVar3 == 8) {
      uVar13 = FUN_0002186c();
      if ((uVar13 <= local_268 + param_7) && (local_268 <= local_268 + param_7)) {
        uVar10 = *(undefined4 *)(iVar14 + 0x144);
        uVar6 = *(undefined4 *)(param_1 + 0x34);
        uVar11 = *(undefined4 *)(iVar14 + 0x164);
        *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1 + 0xc) = &stack0xfffffd60 + iVar7 + iVar1;
        *(int **)((int)aiStack_2b0 + iVar7 + iVar1 + 8) = param_2;
        *(int *)((int)aiStack_2b0 + iVar7 + iVar1 + 4) = param_3;
        *(undefined4 *)((int)aiStack_2b0 + iVar7 + iVar1) = *(undefined4 *)(param_1 + 0x38);
        FUN_00025760(local_268,uVar6,uVar10,uVar11);
        iVar3 = (*(code *)PTR_strcmp_0003f328)(local_294,&stack0xfffffd60 + iVar7 + iVar1);
        if (iVar3 == 0) {
          local_28c = auStack_1b0;
          iVar3 = (*local_284)(local_28c,0x81,unaff_s0,PTR_DAT_0003f05c + -0x25cc);
          uVar13 = 0;
          if (iVar3 != 0) {
            local_290 = local_258;
            iVar3 = (*local_284)(local_290,0xf,unaff_s0,PTR_DAT_0003f05c + -0x259c);
            if ((iVar3 != 0) &&
               ((iVar3 = (*(code *)PTR_strcmp_0003f328)(local_290,PTR_DAT_0003f05c + -0x2598),
                iVar3 == 0 || (local_258[0] == '\0')))) {
              local_298 = auStack_248;
              iVar3 = (*local_284)(local_298,0x14,unaff_s0,PTR_DAT_0003f05c + -0x2590);
              if ((iVar3 != 0) &&
                 (iVar4 = (*local_284)(local_26c,0x100,unaff_s0,PTR_DAT_0003f05c + -0x258c),
                 iVar4 != 0)) {
                iVar4 = FUN_00022050(local_298,iVar3,&local_260);
                if (iVar4 == iVar3) goto LAB_000265c4;
                FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2580);
                goto LAB_00026268;
              }
            }
          }
          FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x25c4);
          goto LAB_00026268;
        }
      }
      uVar13 = 0xffffffff;
    }
    else {
      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2600);
      uVar13 = 0;
    }
  }
LAB_00026268:
  do {
    while( true ) {
      while( true ) {
        while( true ) {
          while( true ) {
            while( true ) {
              if (local_2c == *(int *)puVar2) {
                return uVar13;
              }
              (*(code *)PTR___stack_chk_fail_0003f2b8)();
LAB_000265c4:
              iVar3 = FUN_00025dc4(*(undefined4 *)(param_1 + 0x18),local_294,local_260,local_25c);
              if (iVar3 == 1) break;
LAB_00026264:
              uVar13 = 0;
            }
            local_288 = local_288 + -4;
            iVar3 = (*(code *)PTR_malloc_0003f25c)(local_288);
            if (iVar3 != 0) break;
            FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2554);
          }
          iVar4 = (*local_284)(iVar3,local_288,unaff_s0,PTR_DAT_0003f05c + -0x251c);
          puVar9 = PTR_DAT_0003f05c;
          if (iVar4 != 0) break;
          (*(code *)PTR_free_0003f2f8)(iVar3);
        }
        puVar12 = (undefined1 *)param_2[2];
        if (local_280 == 0) {
          iVar4 = -(*param_2 + 7U & 0xfffffff8);
          (*(code *)param_2[4])(param_2[1]);
          uVar6 = (*(code *)PTR_strlen_0003f228)(param_4);
          (*(code *)param_2[5])(param_2[1],param_4,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(param_3);
          (*(code *)param_2[5])(param_2[1],param_3,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_27c);
          (*(code *)param_2[5])(param_2[1],local_27c,uVar6);
          (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + iVar4 + iVar7 + iVar1);
          *(undefined1 **)((int)aiStack_2b0 + iVar4 + iVar7 + iVar1) = local_28c;
          FUN_000259a4(puVar12,param_2,&stack0xfffffd60 + iVar4 + iVar7 + iVar1,local_294);
          local_288 = puVar12;
          local_284 = (code *)(auStack_2c0 + iVar7 + iVar1);
        }
        else {
          *(undefined1 **)((int)aiStack_2b0 + iVar7 + iVar1) = local_28c;
          FUN_000259a4(puVar12,param_2,local_280,local_294);
        }
        (*(code *)PTR_memcpy_0003f2f0)(&stack0xfffffd60 + iVar1,param_2[3],local_278);
        param_3 = *param_2;
        local_280 = *(int *)(param_1 + 0x34);
        uVar5 = param_3 + 7U & 0xfffffff8;
        (*(code *)param_2[4])(param_2[1]);
        local_27c = &stack0xfffffd60 + uVar5 * -2 + iVar7 + iVar1;
        uVar6 = (*(code *)PTR_strlen_0003f228)(local_280);
        (*(code *)param_2[5])(param_2[1],local_280,uVar6);
        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        uVar6 = (*(code *)PTR_strlen_0003f228)(iVar3);
        (*(code *)param_2[5])(param_2[1],iVar3,uVar6);
        (*(code *)param_2[6])(param_2[1],&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5));
        FUN_000255f0(&stack0xfffffd60 + ((iVar7 + iVar1) - uVar5),*param_2,param_2[3]);
        (*(code *)param_2[4])(param_2[1]);
        (*(code *)param_2[5])(param_2[1],&stack0xfffffd60 + iVar1,*param_2 << 1);
        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        uVar6 = (*(code *)PTR_strlen_0003f228)(local_294);
        (*(code *)param_2[5])(param_2[1],local_294,uVar6);
        (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        if (local_258[0] != '\0') {
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_298);
          (*(code *)param_2[5])(param_2[1],local_298,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_28c);
          (*(code *)param_2[5])(param_2[1],local_28c,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
          uVar6 = (*(code *)PTR_strlen_0003f228)(local_290);
          (*(code *)param_2[5])(param_2[1],local_290,uVar6);
          (*(code *)param_2[5])(param_2[1],puVar9 + -0x26d0,1);
        }
        (*(code *)param_2[5])(param_2[1],param_2[3],*param_2 << 1);
        (*(code *)param_2[6])(param_2[1],local_27c);
        FUN_000255f0(local_27c,param_3,param_2[3]);
        (**(code **)(iVar14 + 0x60))(*(undefined4 *)(iVar14 + 100),param_1,iVar3);
        unaff_s0 = *(int *)(param_1 + 0x38);
        uVar6 = (*(code *)PTR_strlen_0003f228)(unaff_s0);
        iVar4 = (*(code *)PTR_strncmp_0003f174)(iVar3,unaff_s0,uVar6);
        param_4 = iVar3;
        if (iVar4 == 0) break;
        FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x2518);
        (*(code *)PTR_free_0003f2f8)(iVar3);
        local_278 = auStack_2c0 + iVar7 + iVar1;
      }
      iVar4 = (*(code *)PTR_strchr_0003f234)(iVar3,0x3f);
      if (iVar4 == 0) {
        puVar9 = PTR_DAT_0003f05c + -0x47bc;
      }
      else {
        puVar9 = (undefined *)(iVar4 + 1);
      }
      iVar4 = (*(code *)PTR_strdup_0003f2f4)(puVar9);
      if (iVar4 != 0) break;
      FUN_00020df0(*(undefined4 *)(param_1 + 0x18),PTR_DAT_0003f05c + -0x24ec);
      unaff_s0 = 0;
LAB_00026b0c:
      uVar13 = 0;
      FUN_00020df0(iVar14,PTR_DAT_0003f05c + -0x24b4);
      (*(code *)PTR_free_0003f2f8)(iVar3);
      local_278 = auStack_2c0 + iVar7 + iVar1;
    }
    *(int **)((int)aiStack_2b0 + iVar7 + iVar1) = &local_264;
    unaff_s0 = FUN_00020fd0(param_1,8,iVar4,PTR_LAB_0003f084 + 0x5688);
    (*(code *)PTR_free_0003f2f8)(iVar4);
    if (unaff_s0 != 1) goto LAB_00026b0c;
    iVar4 = local_264;
    for (piVar8 = *(int **)(param_1 + 0x1c); piVar8 != (int *)0x0; piVar8 = (int *)*piVar8) {
      if (piVar8[3] == 8) {
        iVar4 = iVar4 + -1;
        local_264 = iVar4;
      }
    }
    if (iVar4 != 0) goto LAB_00026b0c;
    (*(code *)PTR_free_0003f2f8)(iVar3);
    iVar3 = (*(code *)PTR_strcmp_0003f328)(local_26c,param_2[3]);
    uVar13 = (uint)(iVar3 == 0);
    local_278 = auStack_2c0 + iVar7 + iVar1;
  } while( true );
}

