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

Packet * ssh1_rdpkt(Ssh_conflict ssh,uchar **data,int *datalen)

{
  int iVar1;
  int iVar2;
  Packet *pPVar3;
  uint uVar4;
  uint uVar5;
  size_t n;
  char *pcVar6;
  undefined *puVar7;
  uchar *decompblk;
  int decomplen;
  logblank_t blanks [4];
  
  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;
  iVar2 = ssh->ssh1_rdpkt_crstate;
  if (iVar2 == 0x55c) {
    while (*datalen != 0) {
      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;
      *data = *data + 1;
      *datalen = *datalen + -1;
      iVar2 = (ssh->rdpkt1_state).i + 1;
      (ssh->rdpkt1_state).i = iVar2;
      if (3 < iVar2) {
        uVar5 = (ssh->rdpkt1_state).len;
        uVar4 = uVar5 & 0x80000007;
        if ((int)uVar4 < 0) {
          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;
        }
        (ssh->rdpkt1_state).pad = 8 - uVar4;
        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);
        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;
        n = (ssh->rdpkt1_state).biglen;
        if (-1 < (int)n) {
          ((ssh->rdpkt1_state).pktin)->maxlen = n;
                    /* WARNING: Subroutine does not return */
          safemalloc(n,1);
        }
                    /* WARNING: Subroutine does not return */
        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);
      }
    }
    ssh->ssh1_rdpkt_crstate = 0x55c;
    pPVar3 = (Packet *)0x0;
  }
  else if (iVar2 == 0x574) {
    iVar2 = *datalen;
    if (iVar2 != 0) {
      if (iVar2 < (ssh->rdpkt1_state).chunk) {
        (ssh->rdpkt1_state).chunk = iVar2;
      }
      pPVar3 = (Packet *)
               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)
      ;
      return pPVar3;
    }
    ssh->ssh1_rdpkt_crstate = 0x574;
    pPVar3 = (Packet *)0x0;
  }
  else {
    if (iVar2 == 0) {
                    /* WARNING: Subroutine does not return */
      ssh_new_packet();
    }
    ssh->ssh1_rdpkt_crstate = 0;
    pPVar3 = (ssh->rdpkt1_state).pktin;
  }
  if (iVar1 == *(int *)PTR___stack_chk_guard_000b8ce8) {
    return pPVar3;
  }
  puVar7 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  iVar2 = (**(code **)(puVar7 + 0x818c8))(data,*(int *)(puVar7 + 0x80f04) + 0x1834);
  pcVar6 = (char *)((int)data + iVar2);
  if (*pcVar6 != '\0') {
    pcVar6 = pcVar6 + 1;
  }
  (**(code **)(puVar7 + 0x818c8))(pcVar6,*(int *)(puVar7 + 0x80f04) + 0x1834);
  *(undefined4 *)(iVar1 + 0x50) = 0;
                    /* WARNING: Subroutine does not return */
  conf_get_int(*(Conf **)(iVar1 + 0x248),0x9c);
}



int FUN_00036dac(int param_1,int *param_2,int *param_3)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  int iVar4;
  uint uVar5;
  uint uVar6;
  int *piVar7;
  int iVar8;
  undefined4 *puVar9;
  char *pcVar10;
  undefined *puVar11;
  int *local_54;
  int local_50;
  int local_4c;
  int local_48;
  undefined4 local_44;
  int local_1c;
  
  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;
  iVar1 = *(int *)(param_1 + 0x1b0);
  piVar7 = param_2;
  if (iVar1 == 0x55c) {
LAB_00036e68:
    do {
      if (*param_3 == 0) {
        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;
        iVar1 = 0;
        goto LAB_00036e14;
      }
      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;
      *param_2 = *param_2 + 1;
      *param_3 = *param_3 + -1;
      iVar1 = *(int *)(param_1 + 500) + 1;
      *(int *)(param_1 + 500) = iVar1;
    } while (iVar1 < 4);
    uVar6 = *(uint *)(param_1 + 0x1d8);
    uVar5 = uVar6 & 0x80000007;
    if ((int)uVar5 < 0) {
      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;
    }
    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;
    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);
    **(int **)(param_1 + 0x1fc) = uVar6 - 5;
    piVar7 = (int *)0x1;
    if (*(int *)(param_1 + 0x1e0) < 0) {
      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);
      FUN_0003533c(param_1);
      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
      *(undefined4 *)(param_1 + 0x1b0) = 0;
      iVar1 = 0;
    }
    else {
      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);
      iVar1 = *(int *)(param_1 + 0x1fc);
      uVar2 = safemalloc();
      *(undefined4 *)(iVar1 + 0x10) = uVar2;
      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);
      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);
      while (0 < *(int *)(param_1 + 0x1e4)) {
        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);
LAB_00036fb8:
        iVar1 = *param_3;
        if (iVar1 == 0) {
          *(undefined4 *)(param_1 + 0x1b0) = 0x574;
          iVar1 = 0;
          goto LAB_00036e14;
        }
        if (iVar1 < *(int *)(param_1 + 0x1f8)) {
          *(int *)(param_1 + 0x1f8) = iVar1;
        }
        piVar7 = (int *)*param_2;
        (*(code *)PTR_memcpy_000b8cec)
                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));
        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);
        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);
        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);
        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);
      }
      if (*(int *)(param_1 + 0x54) != 0) {
        iVar1 = (*(code *)PTR_detect_attack_000b8624)
                          (*(undefined4 *)(param_1 + 0x5c),
                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),
                           *(undefined4 *)(param_1 + 0x1e0),0);
        if (iVar1 != 0) {
          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);
          FUN_0003533c(param_1);
          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
          *(undefined4 *)(param_1 + 0x1b0) = 0;
          iVar1 = 0;
          goto LAB_00036e14;
        }
        if (*(int *)(param_1 + 0x54) != 0) {
          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))
                    (*(undefined4 *)(param_1 + 0x58),
                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),
                     *(undefined4 *)(param_1 + 0x1e0));
        }
      }
      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)
                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),
                         *(int *)(param_1 + 0x1e0) + -4);
      *(uint *)(param_1 + 0x1e8) = uVar5;
      iVar4 = *(int *)(param_1 + 0x1fc);
      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);
      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);
      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |
              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;
      *(uint *)(param_1 + 0x1ec) = uVar6;
      if (uVar5 == uVar6) {
        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;
        if (*(int *)(param_1 + 0x3c) != 0) {
          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)
                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,
                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);
          if (iVar1 == 0) {
            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);
            FUN_0003533c(param_1);
            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
            *(undefined4 *)(param_1 + 0x1b0) = 0;
            iVar1 = 0;
            goto LAB_00036e14;
          }
          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;
          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {
            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;
            iVar1 = *(int *)(param_1 + 0x1fc);
            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);
            *(undefined4 *)(iVar1 + 0x10) = uVar2;
            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =
                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;
          }
          param_2 = local_54;
          (*(code *)PTR_memcpy_000b8cec)
                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);
          safefree(local_54);
          **(int **)(param_1 + 0x1fc) = local_50 + -1;
        }
        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =
             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);
        if (*(int *)(param_1 + 0x18) != 0) {
          puVar9 = *(undefined4 **)(param_1 + 0x1fc);
          puVar9[6] = 0;
          iVar1 = *(int *)(param_1 + 0x24c);
          if (iVar1 == 0) {
LAB_000373c0:
            uVar2 = puVar9[2];
          }
          else {
            if (puVar9[2] - 0x11 < 2) {
LAB_00037378:
              local_4c = puVar9[6] + 4;
              local_44 = 2;
              FUN_000325fc(puVar9,&local_54,&local_50);
              if (local_54 == (int *)0x0) {
                iVar1 = 0;
              }
              else {
                local_48 = local_50;
                iVar1 = 1;
              }
              goto LAB_000373c0;
            }
            iVar1 = 0;
            if (puVar9[2] == 0x17) {
              FUN_000309ec(puVar9);
              goto LAB_00037378;
            }
            uVar2 = puVar9[2];
          }
          uVar3 = FUN_0002fff0(uVar2);
          param_2 = (int *)0x0;
          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c
                     ,0,0,0);
        }
        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;
        goto LAB_00036e0c;
      }
      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);
      FUN_0003533c(param_1);
      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
      *(undefined4 *)(param_1 + 0x1b0) = 0;
      iVar1 = 0;
    }
  }
  else {
    if (iVar1 == 0x574) goto LAB_00036fb8;
    if (iVar1 == 0) {
      iVar1 = FUN_00031244();
      *(int *)(param_1 + 0x1fc) = iVar1;
      *(undefined4 *)(iVar1 + 8) = 0;
      **(undefined4 **)(param_1 + 0x1fc) = 0;
      *(undefined4 *)(param_1 + 0x1d8) = 0;
      *(undefined4 *)(param_1 + 500) = 0;
      goto LAB_00036e68;
    }
LAB_00036e0c:
    *(undefined4 *)(param_1 + 0x1b0) = 0;
    iVar1 = *(int *)(param_1 + 0x1fc);
    piVar7 = param_2;
  }
LAB_00036e14:
  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {
    return iVar1;
  }
  iVar1 = local_1c;
  puVar11 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);
  pcVar10 = (char *)((int)piVar7 + iVar4);
  if (*pcVar10 != '\0') {
    pcVar10 = pcVar10 + 1;
  }
  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);
  pcVar10 = pcVar10 + iVar4;
  if (*pcVar10 != '\0') {
    pcVar10 = pcVar10 + 1;
  }
  *(undefined4 *)(iVar1 + 0x50) = 0;
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);
  if (iVar4 == 0) {
LAB_00037610:
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);
      if (iVar4 != 0) {
        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);
        if (iVar4 != 0) {
          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);
          if (iVar4 != 0) {
            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);
            if (iVar4 != 0) {
              iVar4 = (**(code **)(puVar11 + 0x818e4))
                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);
              if (iVar4 != 0) {
                iVar4 = (**(code **)(puVar11 + 0x818e4))
                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);
                if (iVar4 != 0) {
                  iVar4 = (**(code **)(puVar11 + 0x818e4))
                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);
                  if ((iVar4 != 0) &&
                     (iVar4 = (**(code **)(puVar11 + 0x818e4))
                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)
                     ) goto LAB_0003763c;
                }
              }
            }
          }
        }
      }
      goto LAB_00037610;
    }
  }
LAB_0003763c:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);
  if (iVar4 == 0) {
LAB_000376bc:
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);
      if ((iVar4 == 0) ||
         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),
         iVar4 == 0)) goto LAB_000376bc;
    }
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);
  if ((iVar4 == 0) ||
     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&
      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),
      iVar4 == 0)))) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);
  if (iVar4 == 0) {
LAB_000377f8:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_000377fc:
    *(uint *)(iVar1 + 0x50) = uVar5 | 2;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);
    if ((iVar4 == 2) &&
       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),
       iVar4 == 0)) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);
      if ((iVar4 != 0) ||
         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),
           iVar4 != 0 ||
           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),
           iVar4 != 0)) ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),
          iVar4 != 0)))) goto LAB_000377f8;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);
      if (iVar4 == 0) goto LAB_00037824;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_000377fc;
    }
  }
LAB_00037824:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);
  if (iVar4 == 0) {
LAB_000378a8:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_000378ac:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);
    if ((iVar4 == 2) &&
       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),
       iVar4 == 0)) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);
      if (iVar4 != 0) goto LAB_000378a8;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);
      if (iVar4 == 0) goto LAB_000378d4;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_000378ac;
    }
  }
LAB_000378d4:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);
  if (iVar4 == 0) {
LAB_00037934:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037938:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);
      if (((iVar4 != 0) ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),
          iVar4 != 0)) ||
         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),
         iVar4 != 0)) goto LAB_00037934;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);
      if (iVar4 == 0) goto LAB_00037960;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037938;
    }
  }
LAB_00037960:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);
  if ((iVar4 == 0) ||
     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&
      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),
      iVar4 != 0)))) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);
  if (iVar4 == 0) {
LAB_00037a4c:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037a50:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);
      if ((((iVar4 != 0) ||
           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),
           iVar4 != 0)) ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),
          iVar4 != 0)) ||
         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),
          iVar4 != 0 ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),
          iVar4 != 0)))) goto LAB_00037a4c;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);
      if (iVar4 == 0) goto LAB_00037a78;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037a50;
    }
  }
LAB_00037a78:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);
  if (iVar4 == 0) {
LAB_00037ad8:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037adc:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);
      if (iVar4 != 0) goto LAB_00037ad8;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);
      if (iVar4 == 0) goto LAB_00037b04;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037adc;
    }
  }
LAB_00037b04:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);
  iVar8 = *(int *)(puVar11 + 0x80f04);
  if (iVar4 == 0) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;
    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);
  if ((iVar4 == 0) ||
     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&
      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),
      iVar4 != 0)))) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);
  iVar8 = *(int *)(puVar11 + 0x80f04);
  if (iVar4 == 0) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;
    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);
  if (iVar4 != 0) {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);
    if (iVar4 != 2) {
      return iVar4;
    }
    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);
    if (((iVar4 == 0) &&
        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),
        iVar4 == 0)) &&
       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),
       iVar4 == 0)) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);
      if (iVar4 == 0) {
        return 0;
      }
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037c34;
    }
  }
  uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037c34:
  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;
  iVar1 = (**(code **)(puVar11 + 0x80ea0))
                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);
  return iVar1;
}


lui gp,0x9
addiu gp,gp,-0x6b1c
addu gp,gp,t9
addiu sp,sp,-0x90
sw ra,0x8c(sp)
sw s3,0x88(sp)
sw s2,0x84(sp)
sw s1,0x80(sp)
sw s0,0x7c(sp)
sw gp,0x30(sp)
or s0,a0,zero
or s2,a1,zero
or s1,a2,zero
lw v0,-0x75a8(gp)
lw v0,0x0(v0)
sw v0,0x74(sp)
lw v0,0x1b0(a0)
li v1,0x55c
beq v0,v1,0x00036e68
_li v1,0x574
beq v0,v1,0x00036fb8
_nop
beq v0,zero,0x00036e40
_lw t9,-0x7da8(gp)
sw zero,0x1b0(s0)
lw v0,0x1fc(s0)
lw a0,0x74(sp)
lw v1,-0x75a8(gp)
lw v1,0x0(v1)
bne a0,v1,0x00037438
_lw ra,0x8c(sp)
lw s3,0x88(sp)
lw s2,0x84(sp)
lw s1,0x80(sp)
lw s0,0x7c(sp)
jr ra
_addiu sp,sp,0x90
addiu t9,t9,0x1244
bal 0x00031244
_nop
lw gp,0x30(sp)
sw v0,0x1fc(s0)
sw zero,0x8(v0)
lw v0,0x1fc(s0)
sw zero,0x0(v0)
sw zero,0x1d8(s0)
sw zero,0x1f4(s0)
lw v0,0x0(s1)
beq v0,zero,0x00036f34
_li v0,0x55c
lw v0,0x1d8(s0)
sll v0,v0,0x8
lw v1,0x0(s2)
lbu v1,0x0(v1)
addu v0,v0,v1
sw v0,0x1d8(s0)
lw v0,0x0(s2)
addiu v0,v0,0x1
sw v0,0x0(s2)
lw v0,0x0(s1)
addiu v0,v0,-0x1
sw v0,0x0(s1)
lw v0,0x1f4(s0)
addiu v0,v0,0x1
sw v0,0x1f4(s0)
slti v0,v0,0x4
bne v0,zero,0x00036e68
_lui v0,0x8000
lw a0,0x1d8(s0)
addiu v0,v0,0x7
and v0,a0,v0
bltz v0,0x00036f40
_li v1,-0x8
li v1,0x8
subu v0,v1,v0
sw v0,0x1dc(s0)
addu v0,a0,v0
sw v0,0x1e0(s0)
lw v0,0x1fc(s0)
addiu a0,a0,-0x5
sw a0,0x0(v0)
lw a0,0x1e0(s0)
bltz a0,0x00036f50
_li a1,0x1
lw v0,0x1fc(s0)
sw a0,0x1c(v0)
lw s3,0x1fc(s0)
lw t9,-0x7f98(gp)
bal 0x000218d8
_nop
lw gp,0x30(sp)
sw v0,0x10(s3)
lw v0,0x1e0(s0)
sw v0,0x1e4(s0)
lw v0,0x1fc(s0)
lw v0,0x10(v0)
b 0x00037030
_sw v0,0x1f0(s0)
sw v0,0x1b0(s0)
b 0x00036e14
_or v0,zero,zero
addiu v0,v0,-0x1
or v0,v0,v1
b 0x00036ed0
_addiu v0,v0,0x1
lw a0,-0x7f48(gp)
addiu a0,a0,-0x791c
lw t9,-0x7fb4(gp)
bal 0x00022150
_nop
lw gp,0x30(sp)
or a1,v0,zero
or a0,s0,zero
lw t9,-0x7da8(gp)
addiu t9,t9,0x533c
bal 0x0003533c
_nop
lw gp,0x30(sp)
lw a0,0x1fc(s0)
lw t9,-0x7da8(gp)
addiu t9,t9,0xd54
bal 0x00030d54
_nop
lw gp,0x30(sp)
sw zero,0x1b0(s0)
b 0x00036e14
_or v0,zero,zero
li v0,0x574
sw v0,0x1b0(s0)
b 0x00036e14
_or v0,zero,zero
lw v0,0x0(s1)
beq v0,zero,0x00036fa8
_nop
lw v1,0x1f8(s0)
slt v1,v0,v1
beq v1,zero,0x00036fd8
_nop
sw v0,0x1f8(s0)
lw a2,0x1f8(s0)
lw a1,0x0(s2)
lw a0,0x1f0(s0)
lw t9,-0x75a4(gp)
jalr t9
_nop
lw gp,0x30(sp)
lw v0,0x0(s2)
lw v1,0x1f8(s0)
addu v0,v0,v1
sw v0,0x0(s2)
lw v0,0x0(s1)
lw v1,0x1f8(s0)
subu v0,v0,v1
sw v0,0x0(s1)
lw a0,0x1f8(s0)
lw v1,0x1f0(s0)
addu v1,v1,a0
sw v1,0x1f0(s0)
lw v0,0x1e4(s0)
subu v0,v0,a0
sw v0,0x1e4(s0)
lw v0,0x1e4(s0)
blez v0,0x00037044
_nop
b 0x00036fb8
_sw v0,0x1f8(s0)
lw v0,0x54(s0)
beq v0,zero,0x000370a4
_or a3,zero,zero
lw v0,0x1fc(s0)
lw a2,0x1e0(s0)
lw a1,0x10(v0)
lw a0,0x5c(s0)
lw t9,-0x7c6c(gp)
jalr t9
_nop
lw gp,0x30(sp)
bne v0,zero,0x0003717c
_lw a0,-0x7f48(gp)
lw v0,0x54(s0)
beq v0,zero,0x000370a4
_nop
lw v1,0x1fc(s0)
lw t9,0x10(v0)
lw a2,0x1e0(s0)
lw a1,0x10(v1)
lw a0,0x58(s0)
jalr t9
_nop
lw gp,0x30(sp)
lw a1,0x1e0(s0)
lw v0,0x1fc(s0)
addiu a1,a1,-0x4
lw a0,0x10(v0)
lw t9,-0x7cdc(gp)
jalr t9
_nop
lw gp,0x30(sp)
sw v0,0x1e8(s0)
lw a2,0x1fc(s0)
lw a0,0x10(a2)
lw v1,0x1e0(s0)
addu a0,a0,v1
lbu v1,-0x4(a0)
sll v1,v1,0x18
lbu a1,-0x3(a0)
sll a1,a1,0x10
or v1,v1,a1
lbu a1,-0x1(a0)
or v1,v1,a1
lbu a0,-0x2(a0)
sll a0,a0,0x8
or v1,v1,a0
bne v0,v1,0x000371d0
_sw v1,0x1ec(s0)
lw v0,0x1dc(s0)
addiu v1,v0,0x1
lw v0,0x10(a2)
addu v0,v0,v1
sw v0,0x14(a2)
lw v0,0x3c(s0)
bne v0,zero,0x00037228
_addiu a3,sp,0x3c
lw v0,0x1fc(s0)
lw v1,0x14(v0)
lbu v1,-0x1(v1)
sw v1,0x8(v0)
lw v0,0x18(s0)
beq v0,zero,0x00037424
_nop
lw s1,0x1fc(s0)
sw zero,0x18(s1)
lw s2,0x24c(s0)
beq s2,zero,0x000373c0
_nop
lw v1,0x8(s1)
addiu v0,v1,-0x11
sltiu v0,v0,0x2
bne v0,zero,0x00037378
_li v0,0x17
beq v1,v0,0x00037360
_or s2,zero,zero
b 0x000373c4
_lw s3,0x8(s1)
addiu a0,a0,-0x78d0
lw t9,-0x7fb4(gp)
bal 0x00022150
_nop
lw gp,0x30(sp)
or a1,v0,zero
or a0,s0,zero
lw t9,-0x7da8(gp)
addiu t9,t9,0x533c
bal 0x0003533c
_nop
lw gp,0x30(sp)
lw a0,0x1fc(s0)
lw t9,-0x7da8(gp)
addiu t9,t9,0xd54
bal 0x00030d54
_nop
lw gp,0x30(sp)
sw zero,0x1b0(s0)
b 0x00036e14
_or v0,zero,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x78a4
lw t9,-0x7fb4(gp)
bal 0x00022150
_nop
lw gp,0x30(sp)
or a1,v0,zero
or a0,s0,zero
lw t9,-0x7da8(gp)
addiu t9,t9,0x533c
bal 0x0003533c
_nop
lw gp,0x30(sp)
lw a0,0x1fc(s0)
lw t9,-0x7da8(gp)
addiu t9,t9,0xd54
bal 0x00030d54
_nop
lw gp,0x30(sp)
sw zero,0x1b0(s0)
b 0x00036e14
_or v0,zero,zero
lw v0,0x1fc(s0)
lw a2,0x0(v0)
lw a1,0x14(v0)
addiu v0,sp,0x40
sw v0,0x10(sp)
addiu a2,a2,0x1
addiu a1,a1,-0x1
lw a0,0x94(s0)
lw t9,-0x7c68(gp)
jalr t9
_nop
lw gp,0x30(sp)
beq v0,zero,0x000372c8
_lw v1,0x40(sp)
lw a0,0x1fc(s0)
lw v0,0x1dc(s0)
addu v0,v0,v1
lw v1,0x1c(a0)
slt v1,v1,v0
bne v1,zero,0x00037320
_li a2,0x1
lw v0,0x1fc(s0)
lw a0,0x14(v0)
lw a2,0x40(sp)
lw a1,0x3c(sp)
addiu a0,a0,-0x1
lw t9,-0x75a4(gp)
jalr t9
_nop
lw gp,0x30(sp)
lw a0,0x3c(sp)
lw t9,-0x7fa8(gp)
bal 0x000223e8
_nop
lw gp,0x30(sp)
lw v1,0x1fc(s0)
lw v0,0x40(sp)
addiu v0,v0,-0x1
b 0x00037128
_sw v0,0x0(v1)
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7880
lw t9,-0x7fb4(gp)
bal 0x00022150
_nop
lw gp,0x30(sp)
or a1,v0,zero
or a0,s0,zero
lw t9,-0x7da8(gp)
addiu t9,t9,0x533c
bal 0x0003533c
_nop
lw gp,0x30(sp)
lw a0,0x1fc(s0)
lw t9,-0x7da8(gp)
addiu t9,t9,0xd54
bal 0x00030d54
_nop
lw gp,0x30(sp)
sw zero,0x1b0(s0)
b 0x00036e14
_or v0,zero,zero
sw v0,0x1c(a0)
lw s1,0x1fc(s0)
lw a1,0x1c(s1)
lw a0,0x10(s1)
lw t9,-0x7f6c(gp)
bal 0x00021dc8
_nop
lw gp,0x30(sp)
sw v0,0x10(s1)
lw a0,0x1fc(s0)
lw v0,0x1dc(s0)
addiu v1,v0,0x1
lw v0,0x10(a0)
addu v0,v0,v1
b 0x0003727c
_sw v0,0x14(a0)
or a0,s1,zero
lw t9,-0x7da8(gp)
addiu t9,t9,0x9ec
bal 0x000309ec
_nop
lw gp,0x30(sp)
lw v0,0x18(s1)
addiu v0,v0,0x4
sw v0,0x44(sp)
li v0,0x2
sw v0,0x4c(sp)
addiu a2,sp,0x40
addiu a1,sp,0x3c
or a0,s1,zero
lw t9,-0x7da8(gp)
addiu t9,t9,0x25fc
bal 0x000325fc
_nop
lw gp,0x30(sp)
lw v0,0x3c(sp)
beq v0,zero,0x00037430
_lw v0,0x40(sp)
sw v0,0x48(sp)
li s2,0x1
lw s3,0x8(s1)
or a0,s3,zero
lw t9,-0x7da8(gp)
addiu t9,t9,-0x10
bal 0x0002fff0
_nop
lw gp,0x30(sp)
sw zero,0x28(sp)
sw zero,0x24(sp)
sw zero,0x20(sp)
addiu v1,sp,0x44
sw v1,0x1c(sp)
sw s2,0x18(sp)
lw v1,0x0(s1)
sw v1,0x14(sp)
lw v1,0x14(s1)
sw v1,0x10(sp)
or a3,v0,zero
or a2,s3,zero
or a1,zero,zero
lw a0,0x18(s0)
lw t9,-0x7ce4(gp)
bal 0x00020680
_nop
lw gp,0x30(sp)
lw v0,0x1fc(s0)
b 0x00036e0c
_sw zero,0x18(v0)
b 0x000373c0
_or s2,zero,zero
lw t9,-0x75d4(gp)
jalr t9
_nop
lui gp,0x9
addiu gp,gp,-0x71b4
addu gp,gp,t9
addiu sp,sp,-0x28
sw ra,0x24(sp)
sw s1,0x20(sp)
sw s0,0x1c(sp)
sw gp,0x10(sp)
or s0,a0,zero
or s1,a1,zero
lw a1,-0x7f48(gp)
addiu a1,a1,0x1834
or a0,s1,zero
lw t9,-0x7584(gp)
jalr t9
_nop
lw gp,0x10(sp)
addu s1,s1,v0
lb v0,0x0(s1)
beq v0,zero,0x0003749c
_lw a1,-0x7f48(gp)
addiu s1,s1,0x1
addiu a1,a1,0x1834
or a0,s1,zero
lw t9,-0x7584(gp)
jalr t9
_nop
lw gp,0x10(sp)
addu s1,s1,v0
lb v0,0x0(s1)
beq v0,zero,0x000374c8
_nop
addiu s1,s1,0x1
sw zero,0x50(s0)
li a1,0x9c
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_li a1,0x9c
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x0003763c
_li a1,0x9d
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7854
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x784c
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x7844
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x783c
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x7834
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x782c
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x7820
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037610
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x7810
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x0003763c
_li a1,0x9d
lw v0,0x50(s0)
ori v0,v0,0x1
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7800
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0x9d
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x000376bc
_li a1,0x9d
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x000376e8
_li a1,0x9e
lw a1,-0x7f48(gp)
addiu a1,a1,-0x782c
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x000376bc
_lw a1,-0x7f48(gp)
addiu a1,a1,-0x7820
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000376e8
_li a1,0x9e
lw v0,0x50(s0)
ori v0,v0,0x4
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x77d0
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0x9e
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037748
_li a1,0x9e
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x00037774
_li a1,0x9f
lw a1,-0x7f48(gp)
addiu a1,a1,-0x782c
or a0,s1,zero
lw t9,-0x7568(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037774
_li a1,0x9f
lw v0,0x50(s0)
ori v0,v0,0x8
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7798
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0x9f
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x000377f8
_li a1,0x9f
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x00037824
_li a1,0xa0
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7758
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037824
_li a1,0xa0
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x774c
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037c6c
_or a1,s1,zero
lw v0,0x50(s0)
ori v0,v0,0x2
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7724
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0xa0
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x000378a8
_li a1,0xa0
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x000378d4
_li a1,0xa1
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7758
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000378d4
_li a1,0xa1
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x76f4
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037cf4
_or a1,s1,zero
lw v0,0x50(s0)
ori v0,v0,0x20
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x76e4
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0xa1
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037934
_li a1,0xa1
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x00037960
_li a1,0xa2
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x76ac
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037d1c
_or a1,s1,zero
lw v0,0x50(s0)
ori v0,v0,0x10
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x765c
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0xa2
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x000379c0
_li a1,0xa2
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x000379ec
_li a1,0xa3
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7628
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x000379ec
_li a1,0xa3
lw v0,0x50(s0)
ori v0,v0,0x80
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7614
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0xa3
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037a4c
_li a1,0xa3
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x00037a78
_li a1,0xa4
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x75d4
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037d84
_or a1,s1,zero
lw v0,0x50(s0)
ori v0,v0,0x40
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7578
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0xa4
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037ad8
_li a1,0xa4
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x00037b04
_li a1,0xa5
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7548
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037e2c
_or a1,s1,zero
lw v0,0x50(s0)
ori v0,v0,0x100
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7514
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0xa5
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037e54
_lw a1,-0x7f48(gp)
li a1,0xa6
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037b84
_li a1,0xa6
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x00037bb0
_li a1,0xa7
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x74a8
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037bb0
_li a1,0xa7
lw v0,0x50(s0)
ori v0,v0,0x1000
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x7494
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
li a1,0xa7
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037e80
_lw a1,-0x7f48(gp)
li a1,0xa8
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037c30
_li a1,0xa8
lw a0,0x248(s0)
lw t9,-0x7fb0(gp)
bal 0x0001c488
_nop
lw gp,0x10(sp)
li v1,0x2
bne v0,v1,0x00037c5c
_lw ra,0x24(sp)
or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7434
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037eac
_or a1,s1,zero
lw v0,0x50(s0)
ori v0,v0,0x800
sw v0,0x50(s0)
lw a1,-0x7f48(gp)
addiu a1,a1,-0x73e4
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw ra,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x28
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7744
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000377f8
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x773c
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000377f8
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7734
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000377f8
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x772c
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037824
_li a1,0xa0
b 0x000377fc
_lw v0,0x50(s0)
lw a0,-0x7f48(gp)
addiu a0,a0,-0x76ec
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x000378d4
_li a1,0xa1
b 0x000378ac
_lw v0,0x50(s0)
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7698
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037934
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7684
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037934
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7670
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037960
_li a1,0xa2
b 0x00037938
_lw v0,0x50(s0)
lw a0,-0x7f48(gp)
addiu a0,a0,-0x75c8
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037a4c
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x75b4
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037a4c
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x75a0
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037a4c
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7594
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037a4c
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7584
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037a78
_li a1,0xa4
b 0x00037a50
_lw v0,0x50(s0)
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7530
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037b04
_li a1,0xa5
b 0x00037adc
_lw v0,0x50(s0)
lw v0,0x50(s0)
ori v0,v0,0x200
sw v0,0x50(s0)
addiu a1,a1,-0x74d8
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x00037b24
_li a1,0xa6
lw v0,0x50(s0)
ori v0,v0,0x400
sw v0,0x50(s0)
addiu a1,a1,-0x7460
lw a0,0x110(s0)
lw t9,-0x7fac(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x00037bd0
_li a1,0xa8
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7424
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037c30
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x7410
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x00037c30
_or a1,s1,zero
lw a0,-0x7f48(gp)
addiu a0,a0,-0x73f8
lw t9,-0x7c64(gp)
jalr t9
_nop
lw gp,0x10(sp)
beq v0,zero,0x00037c5c
_lw ra,0x24(sp)
b 0x00037c34
_lw v0,0x50(s0)
(translation_unit "int FUN_00036dac(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}\n\n" (function_definition "int FUN_00036dac(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}" primitive_type (function_declarator "FUN_00036dac(int param_1,int *param_2,int *param_3)" identifier (parameter_list "(int param_1,int *param_2,int *param_3)" ( (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 (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000b8ce8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1b0);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1b0)" identifier = (pointer_expression "*(int *)(param_1 + 0x1b0)" * (cast_expression "(int *)(param_1 + 0x1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = param_2;" (assignment_expression "piVar7 = param_2" identifier = identifier) ;) (if_statement "if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" if (parenthesized_expression "(iVar1 == 0x55c)" ( (binary_expression "iVar1 == 0x55c" identifier == number_literal) )) (compound_statement "{\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }" { (labeled_statement "LAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);" statement_identifier : (do_statement "do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);" do (compound_statement "{\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    }" { (if_statement "if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }" if (parenthesized_expression "(*param_3 == 0)" ( (binary_expression "*param_3 == 0" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0x55c;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0x55c" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (expression_statement "*(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;" (assignment_expression "*(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2" (pointer_expression "*(uint *)(param_1 + 0x1d8)" * (cast_expression "(uint *)(param_1 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2" (binary_expression "*(int *)(param_1 + 0x1d8) * 0x100" (pointer_expression "*(int *)(param_1 + 0x1d8)" * (cast_expression "(int *)(param_1 + 0x1d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)*param_2" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)*param_2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))))) ;) (expression_statement "*param_2 = *param_2 + 1;" (assignment_expression "*param_2 = *param_2 + 1" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + 1" (pointer_expression "*param_2" * identifier) + number_literal)) ;) (expression_statement "*param_3 = *param_3 + -1;" (assignment_expression "*param_3 = *param_3 + -1" (pointer_expression "*param_3" * identifier) = (binary_expression "*param_3 + -1" (pointer_expression "*param_3" * identifier) + number_literal)) ;) (expression_statement "iVar1 = *(int *)(param_1 + 500) + 1;" (assignment_expression "iVar1 = *(int *)(param_1 + 500) + 1" identifier = (binary_expression "*(int *)(param_1 + 500) + 1" (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 500) = iVar1;" (assignment_expression "*(int *)(param_1 + 500) = iVar1" (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar1 < 4)" ( (binary_expression "iVar1 < 4" identifier < number_literal) )) ;)) (expression_statement "uVar6 = *(uint *)(param_1 + 0x1d8);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x1d8)" identifier = (pointer_expression "*(uint *)(param_1 + 0x1d8)" * (cast_expression "(uint *)(param_1 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = uVar6 & 0x80000007;" (assignment_expression "uVar5 = uVar6 & 0x80000007" identifier = (binary_expression "uVar6 & 0x80000007" identifier & number_literal)) ;) (if_statement "if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }" { (expression_statement "uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;" (assignment_expression "uVar5 = (uVar5 - 1 | 0xfffffff8) + 1" identifier = (binary_expression "(uVar5 - 1 | 0xfffffff8) + 1" (parenthesized_expression "(uVar5 - 1 | 0xfffffff8)" ( (binary_expression "uVar5 - 1 | 0xfffffff8" (binary_expression "uVar5 - 1" identifier - number_literal) | number_literal) )) + number_literal)) ;) })) (expression_statement "*(uint *)(param_1 + 0x1dc) = 8 - uVar5;" (assignment_expression "*(uint *)(param_1 + 0x1dc) = 8 - uVar5" (pointer_expression "*(uint *)(param_1 + 0x1dc)" * (cast_expression "(uint *)(param_1 + 0x1dc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) )))) = (binary_expression "8 - uVar5" number_literal - identifier)) ;) (expression_statement "*(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);" (assignment_expression "*(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5)" (pointer_expression "*(uint *)(param_1 + 0x1e0)" * (cast_expression "(uint *)(param_1 + 0x1e0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) = (binary_expression "uVar6 + (8 - uVar5)" identifier + (parenthesized_expression "(8 - uVar5)" ( (binary_expression "8 - uVar5" number_literal - identifier) )))) ;) (expression_statement "**(int **)(param_1 + 0x1fc) = uVar6 - 5;" (assignment_expression "**(int **)(param_1 + 0x1fc) = uVar6 - 5" (pointer_expression "**(int **)(param_1 + 0x1fc)" * (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) = (binary_expression "uVar6 - 5" identifier - number_literal)) ;) (expression_statement "piVar7 = (int *)0x1;" (assignment_expression "piVar7 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1e0) < 0)" ( (binary_expression "*(int *)(param_1 + 0x1e0) < 0" (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" { (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x791c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x791c)" identifier (argument_list "(PTR_DAT_000b8348 + -0x791c)" ( (binary_expression "PTR_DAT_000b8348 + -0x791c" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" else (compound_statement "{\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" { (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = safemalloc();" (assignment_expression "uVar2 = safemalloc()" identifier = (call_expression "safemalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = uVar2" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);" (assignment_expression "*(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0)" (pointer_expression "*(undefined4 *)(param_1 + 0x1e4)" * (cast_expression "(undefined4 *)(param_1 + 0x1e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" * (cast_expression "(undefined4 *)(param_1 + 0x1e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);" (assignment_expression "*(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (pointer_expression "*(undefined4 *)(param_1 + 0x1f0)" * (cast_expression "(undefined4 *)(param_1 + 0x1f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) ))))) ;) (while_statement "while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }" while (parenthesized_expression "(0 < *(int *)(param_1 + 0x1e4))" ( (binary_expression "0 < *(int *)(param_1 + 0x1e4)" number_literal < (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) ))))) )) (compound_statement "{\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }" { (expression_statement "*(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);" (assignment_expression "*(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4)" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) = (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00036fb8:\n        iVar1 = *param_3;" statement_identifier : (expression_statement "iVar1 = *param_3;" (assignment_expression "iVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (if_statement "if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0x574;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0x574" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (if_statement "if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }" if (parenthesized_expression "(iVar1 < *(int *)(param_1 + 0x1f8))" ( (binary_expression "iVar1 < *(int *)(param_1 + 0x1f8)" identifier < (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) ))))) )) (compound_statement "{\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }" { (expression_statement "*(int *)(param_1 + 0x1f8) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x1f8) = iVar1" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "piVar7 = (int *)*param_2;" (assignment_expression "piVar7 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));" (call_expression "(*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8))" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1f0)" * (cast_expression "(undefined4 *)(param_1 + 0x1f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x1f8)" * (cast_expression "(undefined4 *)(param_1 + 0x1f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) ))) ;) (expression_statement "*param_2 = *param_2 + *(int *)(param_1 + 0x1f8);" (assignment_expression "*param_2 = *param_2 + *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_2" * identifier) + (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) (expression_statement "*param_3 = *param_3 - *(int *)(param_1 + 0x1f8);" (assignment_expression "*param_3 = *param_3 - *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_3" * identifier) = (binary_expression "*param_3 - *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_3" * identifier) - (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);" (assignment_expression "*(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);" (assignment_expression "*(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x54) != 0)" ( (binary_expression "*(int *)(param_1 + 0x54) != 0" (pointer_expression "*(int *)(param_1 + 0x54)" * (cast_expression "(int *)(param_1 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }" { (expression_statement "iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);" (assignment_expression "iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" identifier = (call_expression "(*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" (parenthesized_expression "(*(code *)PTR_detect_attack_000b8624)" ( (pointer_expression "*(code *)PTR_detect_attack_000b8624" * (cast_expression "(code *)PTR_detect_attack_000b8624" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" * (cast_expression "(undefined4 *)(param_1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" * (cast_expression "(undefined4 *)(param_1 + 0x1e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" { (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x78d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x78d0)" identifier (argument_list "(PTR_DAT_000b8348 + -0x78d0)" ( (binary_expression "PTR_DAT_000b8348 + -0x78d0" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }" if (parenthesized_expression "(*(int *)(param_1 + 0x54) != 0)" ( (binary_expression "*(int *)(param_1 + 0x54) != 0" (pointer_expression "*(int *)(param_1 + 0x54)" * (cast_expression "(int *)(param_1 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }" { (expression_statement "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));" (call_expression "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0))" (parenthesized_expression "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))" ( (pointer_expression "**(code **)(*(int *)(param_1 + 0x54) + 0x10)" * (pointer_expression "*(code **)(*(int *)(param_1 + 0x54) + 0x10)" * (cast_expression "(code **)(*(int *)(param_1 + 0x54) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0x54) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x54) + 0x10" (pointer_expression "*(int *)(param_1 + 0x54)" * (cast_expression "(int *)(param_1 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" * (cast_expression "(undefined4 *)(param_1 + 0x1e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) ))) ;) })) })) (expression_statement "uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);" (assignment_expression "uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" identifier = (call_expression "(*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" (parenthesized_expression "(*(code *)PTR_crc32_compute_000b85b4)" ( (pointer_expression "*(code *)PTR_crc32_compute_000b85b4" * (cast_expression "(code *)PTR_crc32_compute_000b85b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" ( (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "*(int *)(param_1 + 0x1e0) + -4" (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(uint *)(param_1 + 0x1e8) = uVar5;" (assignment_expression "*(uint *)(param_1 + 0x1e8) = uVar5" (pointer_expression "*(uint *)(param_1 + 0x1e8)" * (cast_expression "(uint *)(param_1 + 0x1e8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0)" identifier = (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0)" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))))) ;) (expression_statement "param_2 = (int *)(uint)*(byte *)(iVar1 + -1);" (assignment_expression "param_2 = (int *)(uint)*(byte *)(iVar1 + -1)" identifier = (binary_expression "(int *)(uint)*(byte *)(iVar1 + -1)" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(iVar1 + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -1)" ( (binary_expression "iVar1 + -1" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;" (assignment_expression "uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8" identifier = (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18" (binary_expression "(uint)*(byte *)(iVar1 + -4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar1 + -4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -4)" ( (binary_expression "iVar1 + -4" identifier + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)(iVar1 + -3) << 0x10" (binary_expression "(uint)*(byte *)(iVar1 + -3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar1 + -3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -3)" ( (binary_expression "iVar1 + -3" identifier + number_literal) )))) << number_literal)) | (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier)) | (binary_expression "(uint)*(byte *)(iVar1 + -2) << 8" (binary_expression "(uint)*(byte *)(iVar1 + -2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar1 + -2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -2)" ( (binary_expression "iVar1 + -2" identifier + number_literal) )))) << number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0x1ec) = uVar6;" (assignment_expression "*(uint *)(param_1 + 0x1ec) = uVar6" (pointer_expression "*(uint *)(param_1 + 0x1ec)" * (cast_expression "(uint *)(param_1 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1ec)" ( (binary_expression "param_1 + 0x1ec" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }" if (parenthesized_expression "(uVar5 == uVar6)" ( (binary_expression "uVar5 == uVar6" identifier == identifier) )) (compound_statement "{\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }" { (expression_statement "*(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;" (assignment_expression "*(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc)" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) ))))) + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }" if (parenthesized_expression "(*(int *)(param_1 + 0x3c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3c) != 0" (pointer_expression "*(int *)(param_1 + 0x3c)" * (cast_expression "(int *)(param_1 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }" { (expression_statement "iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);" (assignment_expression "iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" identifier = (call_expression "(*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" (parenthesized_expression "(*(code *)PTR_zlib_decompress_block_000b8628)" ( (pointer_expression "*(code *)PTR_zlib_decompress_block_000b8628" * (cast_expression "(code *)PTR_zlib_decompress_block_000b8628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x94)" * (cast_expression "(undefined4 *)(param_1 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x94)" ( (binary_expression "param_1 + 0x94" identifier + number_literal) )))) , (binary_expression "(*(int **)(param_1 + 0x1fc))[5] + -1" (subscript_expression "(*(int **)(param_1 + 0x1fc))[5]" (parenthesized_expression "(*(int **)(param_1 + 0x1fc))" ( (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) )) [ number_literal ]) + number_literal) , (binary_expression "**(int **)(param_1 + 0x1fc) + 1" (pointer_expression "**(int **)(param_1 + 0x1fc)" * (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) + number_literal) , (pointer_expression "&local_54" & identifier) , (pointer_expression "&local_50" & identifier) )))) ;) (if_statement "if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }" { (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x7880)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x7880)" identifier (argument_list "(PTR_DAT_000b8348 + -0x7880)" ( (binary_expression "PTR_DAT_000b8348 + -0x7880" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (expression_statement "iVar1 = *(int *)(param_1 + 0x1dc) + local_50;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1dc) + local_50" identifier = (binary_expression "*(int *)(param_1 + 0x1dc) + local_50" (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }" if (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) < identifier) )) (compound_statement "{\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }" { (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);" (assignment_expression "uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" identifier = (call_expression "saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar1 + 0x1c)" * (cast_expression "(undefined4 *)(iVar1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = uVar2" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) ))))) + number_literal)) ;) })) (expression_statement "param_2 = local_54;" (assignment_expression "param_2 = local_54" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);" (call_expression "(*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50)" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "safefree(local_54);" (call_expression "safefree(local_54)" identifier (argument_list "(local_54)" ( identifier ))) ;) (expression_statement "**(int **)(param_1 + 0x1fc) = local_50 + -1;" (assignment_expression "**(int **)(param_1 + 0x1fc) = local_50 + -1" (pointer_expression "**(int **)(param_1 + 0x1fc)" * (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) = (binary_expression "local_50 + -1" identifier + number_literal)) ;) })) (expression_statement "*(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);" (assignment_expression "*(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1fc) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x1fc) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 8)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 8" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "(uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (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) )))) != number_literal) )) (compound_statement "{\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }" { (expression_statement "puVar9 = *(undefined4 **)(param_1 + 0x1fc);" (assignment_expression "puVar9 = *(undefined4 **)(param_1 + 0x1fc)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x1fc)" * (cast_expression "(undefined4 **)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "puVar9[6] = 0;" (assignment_expression "puVar9[6] = 0" (subscript_expression "puVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x24c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x24c)" identifier = (pointer_expression "*(int *)(param_1 + 0x24c)" * (cast_expression "(int *)(param_1 + 0x24c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24c)" ( (binary_expression "param_1 + 0x24c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }" { (labeled_statement "LAB_000373c0:\n            uVar2 = puVar9[2];" statement_identifier : (expression_statement "uVar2 = puVar9[2];" (assignment_expression "uVar2 = puVar9[2]" identifier = (subscript_expression "puVar9[2]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" else (compound_statement "{\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" { (if_statement "if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }" if (parenthesized_expression "(puVar9[2] - 0x11 < 2)" ( (binary_expression "puVar9[2] - 0x11 < 2" (binary_expression "puVar9[2] - 0x11" (subscript_expression "puVar9[2]" identifier [ number_literal ]) - number_literal) < number_literal) )) (compound_statement "{\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }" { (labeled_statement "LAB_00037378:\n              local_4c = puVar9[6] + 4;" statement_identifier : (expression_statement "local_4c = puVar9[6] + 4;" (assignment_expression "local_4c = puVar9[6] + 4" identifier = (binary_expression "puVar9[6] + 4" (subscript_expression "puVar9[6]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_44 = 2;" (assignment_expression "local_44 = 2" identifier = number_literal) ;) (expression_statement "FUN_000325fc(puVar9,&local_54,&local_50);" (call_expression "FUN_000325fc(puVar9,&local_54,&local_50)" identifier (argument_list "(puVar9,&local_54,&local_50)" ( identifier , (pointer_expression "&local_54" & identifier) , (pointer_expression "&local_50" & identifier) ))) ;) (if_statement "if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }" if (parenthesized_expression "(local_54 == (int *)0x0)" ( (binary_expression "local_54 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                iVar1 = 0;\n              }" { (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }" else (compound_statement "{\n                local_48 = local_50;\n                iVar1 = 1;\n              }" { (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_000373c0;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (if_statement "if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }" if (parenthesized_expression "(puVar9[2] == 0x17)" ( (binary_expression "puVar9[2] == 0x17" (subscript_expression "puVar9[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }" { (expression_statement "FUN_000309ec(puVar9);" (call_expression "FUN_000309ec(puVar9)" identifier (argument_list "(puVar9)" ( identifier ))) ;) (goto_statement "goto LAB_00037378;" goto statement_identifier ;) })) (expression_statement "uVar2 = puVar9[2];" (assignment_expression "uVar2 = puVar9[2]" identifier = (subscript_expression "puVar9[2]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar3 = FUN_0002fff0(uVar2);" (assignment_expression "uVar3 = FUN_0002fff0(uVar2)" identifier = (call_expression "FUN_0002fff0(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);" (call_expression "log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0)" ( (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) )))) , number_literal , identifier , identifier , (subscript_expression "puVar9[5]" identifier [ number_literal ]) , (pointer_expression "*puVar9" * identifier) , identifier , (pointer_expression "&local_4c" & identifier) , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x18)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x18" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00036e0c;" goto statement_identifier ;) })) (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x78a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x78a4)" identifier (argument_list "(PTR_DAT_000b8348 + -0x78a4)" ( (binary_expression "PTR_DAT_000b8348 + -0x78a4" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" else (compound_statement "{\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" { (if_statement "if (iVar1 == 0x574) goto LAB_00036fb8;" if (parenthesized_expression "(iVar1 == 0x574)" ( (binary_expression "iVar1 == 0x574" identifier == number_literal) )) (goto_statement "goto LAB_00036fb8;" goto statement_identifier ;)) (if_statement "if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }" { (expression_statement "iVar1 = FUN_00031244();" (assignment_expression "iVar1 = FUN_00031244()" identifier = (call_expression "FUN_00031244()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(param_1 + 0x1fc) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x1fc) = iVar1" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar1 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar1 + 8)" * (cast_expression "(undefined4 *)(iVar1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined4 **)(param_1 + 0x1fc) = 0;" (assignment_expression "**(undefined4 **)(param_1 + 0x1fc) = 0" (pointer_expression "**(undefined4 **)(param_1 + 0x1fc)" * (pointer_expression "*(undefined4 **)(param_1 + 0x1fc)" * (cast_expression "(undefined4 **)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1d8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1d8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1d8)" * (cast_expression "(undefined4 *)(param_1 + 0x1d8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 500) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 500) = 0" (pointer_expression "*(undefined4 *)(param_1 + 500)" * (cast_expression "(undefined4 *)(param_1 + 500)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00036e68;" goto statement_identifier ;) })) (labeled_statement "LAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = param_2;" (assignment_expression "piVar7 = param_2" identifier = identifier) ;) }))) (labeled_statement "LAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_1c == *(int *)PTR___stack_chk_guard_000b8ce8)" ( (binary_expression "local_1c == *(int *)PTR___stack_chk_guard_000b8ce8" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) (expression_statement "iVar1 = local_1c;" (assignment_expression "iVar1 = local_1c" identifier = identifier) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000b8cbc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" * (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" identifier = (call_expression "(**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818c8))" ( (pointer_expression "**(code **)(puVar11 + 0x818c8)" * (pointer_expression "*(code **)(puVar11 + 0x818c8)" * (cast_expression "(code **)(puVar11 + 0x818c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818c8)" ( (binary_expression "puVar11 + 0x818c8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar10 = (char *)((int)piVar7 + iVar4);" (assignment_expression "pcVar10 = (char *)((int)piVar7 + iVar4)" identifier = (cast_expression "(char *)((int)piVar7 + iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + iVar4)" ( (binary_expression "(int)piVar7 + iVar4" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }" if (parenthesized_expression "(*pcVar10 != '\0')" ( (binary_expression "*pcVar10 != '\0'" (pointer_expression "*pcVar10" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar10 = pcVar10 + 1;\n  }" { (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" identifier = (call_expression "(**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818c8))" ( (pointer_expression "**(code **)(puVar11 + 0x818c8)" * (pointer_expression "*(code **)(puVar11 + 0x818c8)" * (cast_expression "(code **)(puVar11 + 0x818c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818c8)" ( (binary_expression "puVar11 + 0x818c8" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar10 = pcVar10 + iVar4;" (assignment_expression "pcVar10 = pcVar10 + iVar4" identifier = (binary_expression "pcVar10 + iVar4" identifier + identifier)) ;) (if_statement "if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }" if (parenthesized_expression "(*pcVar10 != '\0')" ( (binary_expression "*pcVar10 != '\0'" (pointer_expression "*pcVar10" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar10 = pcVar10 + 1;\n  }" { (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(iVar1 + 0x50) = 0;" (assignment_expression "*(undefined4 *)(iVar1 + 0x50) = 0" (pointer_expression "*(undefined4 *)(iVar1 + 0x50)" * (cast_expression "(undefined4 *)(iVar1 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9c)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }" { (labeled_statement "LAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 1" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7800" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9c)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7854" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x784c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7844" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x783c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7820" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;" if (parenthesized_expression "((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     )" ( (binary_expression "(iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7810" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0003763c;" goto statement_identifier ;)) })) })) })) })) })) })) (goto_statement "goto LAB_00037610;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9d)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }" { (labeled_statement "LAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 4" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x77d0" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9d)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;" if (parenthesized_expression "((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7820" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000376bc;" goto statement_identifier ;)) })) }))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9e)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }" if (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0))))" ( (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))" ( (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0))" ( (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9e)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" (binary_expression "iVar4 == 2" identifier == number_literal) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 8" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7798" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9f)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }" { (labeled_statement "LAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 2;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 2" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 2" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7724" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9f)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }" if (parenthesized_expression "((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0))" ( (binary_expression "(iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7758" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x774c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;" if (parenthesized_expression "((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0))))" ( (binary_expression "(iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))" ( (parenthesized_expression "((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0))" ( (binary_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0))" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7744" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" (binary_expression "iVar4 != 0" identifier != number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x773c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7734" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000377f8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x772c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037824;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037824;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000377fc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa0)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }" { (labeled_statement "LAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x20;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x20" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x20" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76e4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa0)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }" if (parenthesized_expression "((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0))" ( (binary_expression "(iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7758" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76f4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_000378a8;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000378a8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76ec" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_000378d4;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000378d4;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000378ac;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa1)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }" { (labeled_statement "LAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x10;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x10" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x10" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x765c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa1)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76ac" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;" if (parenthesized_expression "(((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0))" ( (binary_expression "((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)" (parenthesized_expression "((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0))" ( (binary_expression "(iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7698" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7684" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00037934;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7670" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037960;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037960;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037938;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa2)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }" if (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0))))" ( (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))" ( (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0))" ( (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa2)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" (binary_expression "iVar4 == 2" identifier == number_literal) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7628" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) ))) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x80" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7614" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa3)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }" { (labeled_statement "LAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x40;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x40" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x40" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7578" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa3)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75d4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;" if (parenthesized_expression "((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0))))" ( (binary_expression "(((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))" (parenthesized_expression "(((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0))" ( (binary_expression "((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0))" ( (binary_expression "(iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75c8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75b4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))" ( (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0))" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75a0" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" (binary_expression "iVar4 != 0" identifier != number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7594" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) ))) )) (goto_statement "goto LAB_00037a4c;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7584" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037a78;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037a78;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037a50;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }" { (labeled_statement "LAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x100;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x100" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x100" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7514" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7548" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_00037ad8;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00037ad8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -30000" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037b04;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037b04;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037adc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa5)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (expression_statement "iVar8 = *(int *)(puVar11 + 0x80f04);" (assignment_expression "iVar8 = *(int *)(puVar11 + 0x80f04)" identifier = (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x200" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);" (call_expression "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "iVar8 + -0x74d8" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa6)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }" if (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0))))" ( (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))" ( (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0))" ( (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa6)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" (binary_expression "iVar4 == 2" identifier == number_literal) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x74a8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) ))) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x1000" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7494" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa7)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar8 = *(int *)(puVar11 + 0x80f04);" (assignment_expression "iVar8 = *(int *)(puVar11 + 0x80f04)" identifier = (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x400" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);" (call_expression "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "iVar8 + -0x7460" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa8)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa8)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 != 2) {\n      return iVar4;\n    }" if (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) (compound_statement "{\n      return iVar4;\n    }" { (return_statement "return iVar4;" return identifier ;) })) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7434" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }" if (parenthesized_expression "(((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0))" ( (binary_expression "((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0))" ( (binary_expression "(iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7424" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7410" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x73f8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037c34;" goto statement_identifier ;) })) })) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x800;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x800" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x800" identifier | number_literal)) ;)) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" identifier = (call_expression "(**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x73e4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nPacket * ssh1_rdpkt(Ssh_conflict ssh,uchar **data,int *datalen)\n\n{\n  int iVar1;\n  int iVar2;\n  Packet *pPVar3;\n  uint uVar4;\n  uint uVar5;\n  size_t n;\n  char *pcVar6;\n  undefined *puVar7;\n  uchar *decompblk;\n  int decomplen;\n  logblank_t blanks [4];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar2 = ssh->ssh1_rdpkt_crstate;\n  if (iVar2 == 0x55c) {\n    while (*datalen != 0) {\n      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;\n      *data = *data + 1;\n      *datalen = *datalen + -1;\n      iVar2 = (ssh->rdpkt1_state).i + 1;\n      (ssh->rdpkt1_state).i = iVar2;\n      if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }\n    }\n    ssh->ssh1_rdpkt_crstate = 0x55c;\n    pPVar3 = (Packet *)0x0;\n  }\n  else if (iVar2 == 0x574) {\n    iVar2 = *datalen;\n    if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }\n    ssh->ssh1_rdpkt_crstate = 0x574;\n    pPVar3 = (Packet *)0x0;\n  }\n  else {\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }\n  if (iVar1 == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return pPVar3;\n  }\n  puVar7 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar2 = (**(code **)(puVar7 + 0x818c8))(data,*(int *)(puVar7 + 0x80f04) + 0x1834);\n  pcVar6 = (char *)((int)data + iVar2);\n  if (*pcVar6 != '\0') {\n    pcVar6 = pcVar6 + 1;\n  }\n  (**(code **)(puVar7 + 0x818c8))(pcVar6,*(int *)(puVar7 + 0x80f04) + 0x1834);\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n                    /* WARNING: Subroutine does not return */\n  conf_get_int(*(Conf **)(iVar1 + 0x248),0x9c);\n}\n\n" comment (function_definition "Packet * ssh1_rdpkt(Ssh_conflict ssh,uchar **data,int *datalen)\n\n{\n  int iVar1;\n  int iVar2;\n  Packet *pPVar3;\n  uint uVar4;\n  uint uVar5;\n  size_t n;\n  char *pcVar6;\n  undefined *puVar7;\n  uchar *decompblk;\n  int decomplen;\n  logblank_t blanks [4];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar2 = ssh->ssh1_rdpkt_crstate;\n  if (iVar2 == 0x55c) {\n    while (*datalen != 0) {\n      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;\n      *data = *data + 1;\n      *datalen = *datalen + -1;\n      iVar2 = (ssh->rdpkt1_state).i + 1;\n      (ssh->rdpkt1_state).i = iVar2;\n      if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }\n    }\n    ssh->ssh1_rdpkt_crstate = 0x55c;\n    pPVar3 = (Packet *)0x0;\n  }\n  else if (iVar2 == 0x574) {\n    iVar2 = *datalen;\n    if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }\n    ssh->ssh1_rdpkt_crstate = 0x574;\n    pPVar3 = (Packet *)0x0;\n  }\n  else {\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }\n  if (iVar1 == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return pPVar3;\n  }\n  puVar7 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar2 = (**(code **)(puVar7 + 0x818c8))(data,*(int *)(puVar7 + 0x80f04) + 0x1834);\n  pcVar6 = (char *)((int)data + iVar2);\n  if (*pcVar6 != '\0') {\n    pcVar6 = pcVar6 + 1;\n  }\n  (**(code **)(puVar7 + 0x818c8))(pcVar6,*(int *)(puVar7 + 0x80f04) + 0x1834);\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n                    /* WARNING: Subroutine does not return */\n  conf_get_int(*(Conf **)(iVar1 + 0x248),0x9c);\n}" type_identifier (pointer_declarator "* ssh1_rdpkt(Ssh_conflict ssh,uchar **data,int *datalen)" * (function_declarator "ssh1_rdpkt(Ssh_conflict ssh,uchar **data,int *datalen)" identifier (parameter_list "(Ssh_conflict ssh,uchar **data,int *datalen)" ( (parameter_declaration "Ssh_conflict ssh" type_identifier identifier) , (parameter_declaration "uchar **data" type_identifier (pointer_declarator "**data" * (pointer_declarator "*data" * identifier))) , (parameter_declaration "int *datalen" primitive_type (pointer_declarator "*datalen" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  Packet *pPVar3;\n  uint uVar4;\n  uint uVar5;\n  size_t n;\n  char *pcVar6;\n  undefined *puVar7;\n  uchar *decompblk;\n  int decomplen;\n  logblank_t blanks [4];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar2 = ssh->ssh1_rdpkt_crstate;\n  if (iVar2 == 0x55c) {\n    while (*datalen != 0) {\n      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;\n      *data = *data + 1;\n      *datalen = *datalen + -1;\n      iVar2 = (ssh->rdpkt1_state).i + 1;\n      (ssh->rdpkt1_state).i = iVar2;\n      if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }\n    }\n    ssh->ssh1_rdpkt_crstate = 0x55c;\n    pPVar3 = (Packet *)0x0;\n  }\n  else if (iVar2 == 0x574) {\n    iVar2 = *datalen;\n    if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }\n    ssh->ssh1_rdpkt_crstate = 0x574;\n    pPVar3 = (Packet *)0x0;\n  }\n  else {\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }\n  if (iVar1 == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return pPVar3;\n  }\n  puVar7 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar2 = (**(code **)(puVar7 + 0x818c8))(data,*(int *)(puVar7 + 0x80f04) + 0x1834);\n  pcVar6 = (char *)((int)data + iVar2);\n  if (*pcVar6 != '\0') {\n    pcVar6 = pcVar6 + 1;\n  }\n  (**(code **)(puVar7 + 0x818c8))(pcVar6,*(int *)(puVar7 + 0x80f04) + 0x1834);\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n                    /* WARNING: Subroutine does not return */\n  conf_get_int(*(Conf **)(iVar1 + 0x248),0x9c);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "Packet *pPVar3;" type_identifier (pointer_declarator "*pPVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "size_t n;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uchar *decompblk;" type_identifier (pointer_declarator "*decompblk" * identifier) ;) (declaration "int decomplen;" primitive_type identifier ;) (declaration "logblank_t blanks [4];" type_identifier (array_declarator "blanks [4]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_000b8ce8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar2 = ssh->ssh1_rdpkt_crstate;" (assignment_expression "iVar2 = ssh->ssh1_rdpkt_crstate" identifier = (field_expression "ssh->ssh1_rdpkt_crstate" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0x55c) {\n    while (*datalen != 0) {\n      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;\n      *data = *data + 1;\n      *datalen = *datalen + -1;\n      iVar2 = (ssh->rdpkt1_state).i + 1;\n      (ssh->rdpkt1_state).i = iVar2;\n      if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }\n    }\n    ssh->ssh1_rdpkt_crstate = 0x55c;\n    pPVar3 = (Packet *)0x0;\n  }\n  else if (iVar2 == 0x574) {\n    iVar2 = *datalen;\n    if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }\n    ssh->ssh1_rdpkt_crstate = 0x574;\n    pPVar3 = (Packet *)0x0;\n  }\n  else {\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }" if (parenthesized_expression "(iVar2 == 0x55c)" ( (binary_expression "iVar2 == 0x55c" identifier == number_literal) )) (compound_statement "{\n    while (*datalen != 0) {\n      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;\n      *data = *data + 1;\n      *datalen = *datalen + -1;\n      iVar2 = (ssh->rdpkt1_state).i + 1;\n      (ssh->rdpkt1_state).i = iVar2;\n      if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }\n    }\n    ssh->ssh1_rdpkt_crstate = 0x55c;\n    pPVar3 = (Packet *)0x0;\n  }" { (while_statement "while (*datalen != 0) {\n      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;\n      *data = *data + 1;\n      *datalen = *datalen + -1;\n      iVar2 = (ssh->rdpkt1_state).i + 1;\n      (ssh->rdpkt1_state).i = iVar2;\n      if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }\n    }" while (parenthesized_expression "(*datalen != 0)" ( (binary_expression "*datalen != 0" (pointer_expression "*datalen" * identifier) != number_literal) )) (compound_statement "{\n      (ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;\n      *data = *data + 1;\n      *datalen = *datalen + -1;\n      iVar2 = (ssh->rdpkt1_state).i + 1;\n      (ssh->rdpkt1_state).i = iVar2;\n      if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }\n    }" { (expression_statement "(ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data;" (assignment_expression "(ssh->rdpkt1_state).len = (ssh->rdpkt1_state).len * 0x100 + (uint)**data" (field_expression "(ssh->rdpkt1_state).len" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(ssh->rdpkt1_state).len * 0x100 + (uint)**data" (binary_expression "(ssh->rdpkt1_state).len * 0x100" (field_expression "(ssh->rdpkt1_state).len" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) * number_literal) + (binary_expression "(uint)**data" (parenthesized_expression "(uint)" ( identifier )) * (pointer_expression "*data" * identifier)))) ;) (expression_statement "*data = *data + 1;" (assignment_expression "*data = *data + 1" (pointer_expression "*data" * identifier) = (binary_expression "*data + 1" (pointer_expression "*data" * identifier) + number_literal)) ;) (expression_statement "*datalen = *datalen + -1;" (assignment_expression "*datalen = *datalen + -1" (pointer_expression "*datalen" * identifier) = (binary_expression "*datalen + -1" (pointer_expression "*datalen" * identifier) + number_literal)) ;) (expression_statement "iVar2 = (ssh->rdpkt1_state).i + 1;" (assignment_expression "iVar2 = (ssh->rdpkt1_state).i + 1" identifier = (binary_expression "(ssh->rdpkt1_state).i + 1" (field_expression "(ssh->rdpkt1_state).i" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) + number_literal)) ;) (expression_statement "(ssh->rdpkt1_state).i = iVar2;" (assignment_expression "(ssh->rdpkt1_state).i = iVar2" (field_expression "(ssh->rdpkt1_state).i" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (3 < iVar2) {\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }" if (parenthesized_expression "(3 < iVar2)" ( (binary_expression "3 < iVar2" number_literal < identifier) )) (compound_statement "{\n        uVar5 = (ssh->rdpkt1_state).len;\n        uVar4 = uVar5 & 0x80000007;\n        if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }\n        (ssh->rdpkt1_state).pad = 8 - uVar4;\n        (ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);\n        ((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;\n        n = (ssh->rdpkt1_state).biglen;\n        if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }\n                    /* WARNING: Subroutine does not return */\n        dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);\n      }" { (expression_statement "uVar5 = (ssh->rdpkt1_state).len;" (assignment_expression "uVar5 = (ssh->rdpkt1_state).len" identifier = (field_expression "(ssh->rdpkt1_state).len" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar4 = uVar5 & 0x80000007;" (assignment_expression "uVar4 = uVar5 & 0x80000007" identifier = (binary_expression "uVar5 & 0x80000007" identifier & number_literal)) ;) (if_statement "if ((int)uVar4 < 0) {\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }" if (parenthesized_expression "((int)uVar4 < 0)" ( (binary_expression "(int)uVar4 < 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;\n        }" { (expression_statement "uVar4 = (uVar4 - 1 | 0xfffffff8) + 1;" (assignment_expression "uVar4 = (uVar4 - 1 | 0xfffffff8) + 1" identifier = (binary_expression "(uVar4 - 1 | 0xfffffff8) + 1" (parenthesized_expression "(uVar4 - 1 | 0xfffffff8)" ( (binary_expression "uVar4 - 1 | 0xfffffff8" (binary_expression "uVar4 - 1" identifier - number_literal) | number_literal) )) + number_literal)) ;) })) (expression_statement "(ssh->rdpkt1_state).pad = 8 - uVar4;" (assignment_expression "(ssh->rdpkt1_state).pad = 8 - uVar4" (field_expression "(ssh->rdpkt1_state).pad" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) = (binary_expression "8 - uVar4" number_literal - identifier)) ;) (expression_statement "(ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4);" (assignment_expression "(ssh->rdpkt1_state).biglen = uVar5 + (8 - uVar4)" (field_expression "(ssh->rdpkt1_state).biglen" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) = (binary_expression "uVar5 + (8 - uVar4)" identifier + (parenthesized_expression "(8 - uVar4)" ( (binary_expression "8 - uVar4" number_literal - identifier) )))) ;) (expression_statement "((ssh->rdpkt1_state).pktin)->length = uVar5 - 5;" (assignment_expression "((ssh->rdpkt1_state).pktin)->length = uVar5 - 5" (field_expression "((ssh->rdpkt1_state).pktin)->length" (parenthesized_expression "((ssh->rdpkt1_state).pktin)" ( (field_expression "(ssh->rdpkt1_state).pktin" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) = (binary_expression "uVar5 - 5" identifier - number_literal)) ;) (expression_statement "n = (ssh->rdpkt1_state).biglen;" (assignment_expression "n = (ssh->rdpkt1_state).biglen" identifier = (field_expression "(ssh->rdpkt1_state).biglen" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (-1 < (int)n) {\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }" if (parenthesized_expression "(-1 < (int)n)" ( (binary_expression "-1 < (int)n" number_literal < (cast_expression "(int)n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          ((ssh->rdpkt1_state).pktin)->maxlen = n;\n                    /* WARNING: Subroutine does not return */\n          safemalloc(n,1);\n        }" { (expression_statement "((ssh->rdpkt1_state).pktin)->maxlen = n;" (assignment_expression "((ssh->rdpkt1_state).pktin)->maxlen = n" (field_expression "((ssh->rdpkt1_state).pktin)->maxlen" (parenthesized_expression "((ssh->rdpkt1_state).pktin)" ( (field_expression "(ssh->rdpkt1_state).pktin" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) = identifier) ;) comment (expression_statement "safemalloc(n,1);" (call_expression "safemalloc(n,1)" identifier (argument_list "(n,1)" ( identifier , number_literal ))) ;) })) comment (expression_statement "dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c);" (call_expression "dupprintf(PTR_PC2_1357_27__000b8348 + -0x791c)" identifier (argument_list "(PTR_PC2_1357_27__000b8348 + -0x791c)" ( (binary_expression "PTR_PC2_1357_27__000b8348 + -0x791c" identifier + number_literal) ))) ;) })) })) (expression_statement "ssh->ssh1_rdpkt_crstate = 0x55c;" (assignment_expression "ssh->ssh1_rdpkt_crstate = 0x55c" (field_expression "ssh->ssh1_rdpkt_crstate" identifier -> field_identifier) = number_literal) ;) (expression_statement "pPVar3 = (Packet *)0x0;" (assignment_expression "pPVar3 = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar2 == 0x574) {\n    iVar2 = *datalen;\n    if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }\n    ssh->ssh1_rdpkt_crstate = 0x574;\n    pPVar3 = (Packet *)0x0;\n  }\n  else {\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }" else (if_statement "if (iVar2 == 0x574) {\n    iVar2 = *datalen;\n    if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }\n    ssh->ssh1_rdpkt_crstate = 0x574;\n    pPVar3 = (Packet *)0x0;\n  }\n  else {\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }" if (parenthesized_expression "(iVar2 == 0x574)" ( (binary_expression "iVar2 == 0x574" identifier == number_literal) )) (compound_statement "{\n    iVar2 = *datalen;\n    if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }\n    ssh->ssh1_rdpkt_crstate = 0x574;\n    pPVar3 = (Packet *)0x0;\n  }" { (expression_statement "iVar2 = *datalen;" (assignment_expression "iVar2 = *datalen" identifier = (pointer_expression "*datalen" * identifier)) ;) (if_statement "if (iVar2 != 0) {\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }\n      pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;\n      return pPVar3;\n    }" { (if_statement "if (iVar2 < (ssh->rdpkt1_state).chunk) {\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }" if (parenthesized_expression "(iVar2 < (ssh->rdpkt1_state).chunk)" ( (binary_expression "iVar2 < (ssh->rdpkt1_state).chunk" identifier < (field_expression "(ssh->rdpkt1_state).chunk" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n        (ssh->rdpkt1_state).chunk = iVar2;\n      }" { (expression_statement "(ssh->rdpkt1_state).chunk = iVar2;" (assignment_expression "(ssh->rdpkt1_state).chunk = iVar2" (field_expression "(ssh->rdpkt1_state).chunk" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (expression_statement "pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)\n      ;" (assignment_expression "pPVar3 = (Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)" identifier = (cast_expression "(Packet *)\n               (*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_000b8cec)((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((ssh->rdpkt1_state).p,*data,(ssh->rdpkt1_state).chunk)" ( (field_expression "(ssh->rdpkt1_state).p" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) , (pointer_expression "*data" * identifier) , (field_expression "(ssh->rdpkt1_state).chunk" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier) ))))) ;) (return_statement "return pPVar3;" return identifier ;) })) (expression_statement "ssh->ssh1_rdpkt_crstate = 0x574;" (assignment_expression "ssh->ssh1_rdpkt_crstate = 0x574" (field_expression "ssh->ssh1_rdpkt_crstate" identifier -> field_identifier) = number_literal) ;) (expression_statement "pPVar3 = (Packet *)0x0;" (assignment_expression "pPVar3 = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }" else (compound_statement "{\n    if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }\n    ssh->ssh1_rdpkt_crstate = 0;\n    pPVar3 = (ssh->rdpkt1_state).pktin;\n  }" { (if_statement "if (iVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      ssh_new_packet();\n    }" { comment (expression_statement "ssh_new_packet();" (call_expression "ssh_new_packet()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ssh->ssh1_rdpkt_crstate = 0;" (assignment_expression "ssh->ssh1_rdpkt_crstate = 0" (field_expression "ssh->ssh1_rdpkt_crstate" identifier -> field_identifier) = number_literal) ;) (expression_statement "pPVar3 = (ssh->rdpkt1_state).pktin;" (assignment_expression "pPVar3 = (ssh->rdpkt1_state).pktin" identifier = (field_expression "(ssh->rdpkt1_state).pktin" (parenthesized_expression "(ssh->rdpkt1_state)" ( (field_expression "ssh->rdpkt1_state" identifier -> field_identifier) )) . field_identifier)) ;) }))))) (if_statement "if (iVar1 == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return pPVar3;\n  }" if (parenthesized_expression "(iVar1 == *(int *)PTR___stack_chk_guard_000b8ce8)" ( (binary_expression "iVar1 == *(int *)PTR___stack_chk_guard_000b8ce8" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return pPVar3;\n  }" { (return_statement "return pPVar3;" return identifier ;) })) (expression_statement "puVar7 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar7 = PTR___stack_chk_fail_000b8cbc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" * (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = (**(code **)(puVar7 + 0x818c8))(data,*(int *)(puVar7 + 0x80f04) + 0x1834);" (assignment_expression "iVar2 = (**(code **)(puVar7 + 0x818c8))(data,*(int *)(puVar7 + 0x80f04) + 0x1834)" identifier = (call_expression "(**(code **)(puVar7 + 0x818c8))(data,*(int *)(puVar7 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar7 + 0x818c8))" ( (pointer_expression "**(code **)(puVar7 + 0x818c8)" * (pointer_expression "*(code **)(puVar7 + 0x818c8)" * (cast_expression "(code **)(puVar7 + 0x818c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x818c8)" ( (binary_expression "puVar7 + 0x818c8" identifier + number_literal) ))))) )) (argument_list "(data,*(int *)(puVar7 + 0x80f04) + 0x1834)" ( identifier , (binary_expression "*(int *)(puVar7 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar7 + 0x80f04)" * (cast_expression "(int *)(puVar7 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x80f04)" ( (binary_expression "puVar7 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar6 = (char *)((int)data + iVar2);" (assignment_expression "pcVar6 = (char *)((int)data + iVar2)" identifier = (cast_expression "(char *)((int)data + iVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)data + iVar2)" ( (binary_expression "(int)data + iVar2" (cast_expression "(int)data" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (*pcVar6 != '\0') {\n    pcVar6 = pcVar6 + 1;\n  }" if (parenthesized_expression "(*pcVar6 != '\0')" ( (binary_expression "*pcVar6 != '\0'" (pointer_expression "*pcVar6" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar6 = pcVar6 + 1;\n  }" { (expression_statement "pcVar6 = pcVar6 + 1;" (assignment_expression "pcVar6 = pcVar6 + 1" identifier = (binary_expression "pcVar6 + 1" identifier + number_literal)) ;) })) (expression_statement "(**(code **)(puVar7 + 0x818c8))(pcVar6,*(int *)(puVar7 + 0x80f04) + 0x1834);" (call_expression "(**(code **)(puVar7 + 0x818c8))(pcVar6,*(int *)(puVar7 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar7 + 0x818c8))" ( (pointer_expression "**(code **)(puVar7 + 0x818c8)" * (pointer_expression "*(code **)(puVar7 + 0x818c8)" * (cast_expression "(code **)(puVar7 + 0x818c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x818c8)" ( (binary_expression "puVar7 + 0x818c8" identifier + number_literal) ))))) )) (argument_list "(pcVar6,*(int *)(puVar7 + 0x80f04) + 0x1834)" ( identifier , (binary_expression "*(int *)(puVar7 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar7 + 0x80f04)" * (cast_expression "(int *)(puVar7 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x80f04)" ( (binary_expression "puVar7 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x50) = 0;" (assignment_expression "*(undefined4 *)(iVar1 + 0x50) = 0" (pointer_expression "*(undefined4 *)(iVar1 + 0x50)" * (cast_expression "(undefined4 *)(iVar1 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = number_literal) ;) comment (expression_statement "conf_get_int(*(Conf **)(iVar1 + 0x248),0x9c);" (call_expression "conf_get_int(*(Conf **)(iVar1 + 0x248),0x9c)" identifier (argument_list "(*(Conf **)(iVar1 + 0x248),0x9c)" ( (pointer_expression "*(Conf **)(iVar1 + 0x248)" * (cast_expression "(Conf **)(iVar1 + 0x248)" ( (type_descriptor "Conf **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal ))) ;) })))
(translation_unit "int FUN_00036dac(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}\n\n" (function_definition "int FUN_00036dac(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}" primitive_type (function_declarator "FUN_00036dac(int param_1,int *param_2,int *param_3)" identifier (parameter_list "(int param_1,int *param_2,int *param_3)" ( (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 (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000b8ce8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1b0);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1b0)" identifier = (pointer_expression "*(int *)(param_1 + 0x1b0)" * (cast_expression "(int *)(param_1 + 0x1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = param_2;" (assignment_expression "piVar7 = param_2" identifier = identifier) ;) (if_statement "if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" if (parenthesized_expression "(iVar1 == 0x55c)" ( (binary_expression "iVar1 == 0x55c" identifier == number_literal) )) (compound_statement "{\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }" { (labeled_statement "LAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);" statement_identifier : (do_statement "do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);" do (compound_statement "{\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    }" { (if_statement "if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }" if (parenthesized_expression "(*param_3 == 0)" ( (binary_expression "*param_3 == 0" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0x55c;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0x55c" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (expression_statement "*(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;" (assignment_expression "*(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2" (pointer_expression "*(uint *)(param_1 + 0x1d8)" * (cast_expression "(uint *)(param_1 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2" (binary_expression "*(int *)(param_1 + 0x1d8) * 0x100" (pointer_expression "*(int *)(param_1 + 0x1d8)" * (cast_expression "(int *)(param_1 + 0x1d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)*param_2" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)*param_2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))))) ;) (expression_statement "*param_2 = *param_2 + 1;" (assignment_expression "*param_2 = *param_2 + 1" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + 1" (pointer_expression "*param_2" * identifier) + number_literal)) ;) (expression_statement "*param_3 = *param_3 + -1;" (assignment_expression "*param_3 = *param_3 + -1" (pointer_expression "*param_3" * identifier) = (binary_expression "*param_3 + -1" (pointer_expression "*param_3" * identifier) + number_literal)) ;) (expression_statement "iVar1 = *(int *)(param_1 + 500) + 1;" (assignment_expression "iVar1 = *(int *)(param_1 + 500) + 1" identifier = (binary_expression "*(int *)(param_1 + 500) + 1" (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(param_1 + 500) = iVar1;" (assignment_expression "*(int *)(param_1 + 500) = iVar1" (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar1 < 4)" ( (binary_expression "iVar1 < 4" identifier < number_literal) )) ;)) (expression_statement "uVar6 = *(uint *)(param_1 + 0x1d8);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x1d8)" identifier = (pointer_expression "*(uint *)(param_1 + 0x1d8)" * (cast_expression "(uint *)(param_1 + 0x1d8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = uVar6 & 0x80000007;" (assignment_expression "uVar5 = uVar6 & 0x80000007" identifier = (binary_expression "uVar6 & 0x80000007" identifier & number_literal)) ;) (if_statement "if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }" { (expression_statement "uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;" (assignment_expression "uVar5 = (uVar5 - 1 | 0xfffffff8) + 1" identifier = (binary_expression "(uVar5 - 1 | 0xfffffff8) + 1" (parenthesized_expression "(uVar5 - 1 | 0xfffffff8)" ( (binary_expression "uVar5 - 1 | 0xfffffff8" (binary_expression "uVar5 - 1" identifier - number_literal) | number_literal) )) + number_literal)) ;) })) (expression_statement "*(uint *)(param_1 + 0x1dc) = 8 - uVar5;" (assignment_expression "*(uint *)(param_1 + 0x1dc) = 8 - uVar5" (pointer_expression "*(uint *)(param_1 + 0x1dc)" * (cast_expression "(uint *)(param_1 + 0x1dc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) )))) = (binary_expression "8 - uVar5" number_literal - identifier)) ;) (expression_statement "*(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);" (assignment_expression "*(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5)" (pointer_expression "*(uint *)(param_1 + 0x1e0)" * (cast_expression "(uint *)(param_1 + 0x1e0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) = (binary_expression "uVar6 + (8 - uVar5)" identifier + (parenthesized_expression "(8 - uVar5)" ( (binary_expression "8 - uVar5" number_literal - identifier) )))) ;) (expression_statement "**(int **)(param_1 + 0x1fc) = uVar6 - 5;" (assignment_expression "**(int **)(param_1 + 0x1fc) = uVar6 - 5" (pointer_expression "**(int **)(param_1 + 0x1fc)" * (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) = (binary_expression "uVar6 - 5" identifier - number_literal)) ;) (expression_statement "piVar7 = (int *)0x1;" (assignment_expression "piVar7 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1e0) < 0)" ( (binary_expression "*(int *)(param_1 + 0x1e0) < 0" (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" { (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x791c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x791c)" identifier (argument_list "(PTR_DAT_000b8348 + -0x791c)" ( (binary_expression "PTR_DAT_000b8348 + -0x791c" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" else (compound_statement "{\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" { (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = safemalloc();" (assignment_expression "uVar2 = safemalloc()" identifier = (call_expression "safemalloc()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = uVar2" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);" (assignment_expression "*(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0)" (pointer_expression "*(undefined4 *)(param_1 + 0x1e4)" * (cast_expression "(undefined4 *)(param_1 + 0x1e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" * (cast_expression "(undefined4 *)(param_1 + 0x1e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);" (assignment_expression "*(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (pointer_expression "*(undefined4 *)(param_1 + 0x1f0)" * (cast_expression "(undefined4 *)(param_1 + 0x1f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) ))))) ;) (while_statement "while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }" while (parenthesized_expression "(0 < *(int *)(param_1 + 0x1e4))" ( (binary_expression "0 < *(int *)(param_1 + 0x1e4)" number_literal < (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) ))))) )) (compound_statement "{\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }" { (expression_statement "*(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);" (assignment_expression "*(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4)" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) = (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00036fb8:\n        iVar1 = *param_3;" statement_identifier : (expression_statement "iVar1 = *param_3;" (assignment_expression "iVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (if_statement "if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" { (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0x574;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0x574" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (if_statement "if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }" if (parenthesized_expression "(iVar1 < *(int *)(param_1 + 0x1f8))" ( (binary_expression "iVar1 < *(int *)(param_1 + 0x1f8)" identifier < (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) ))))) )) (compound_statement "{\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }" { (expression_statement "*(int *)(param_1 + 0x1f8) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x1f8) = iVar1" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "piVar7 = (int *)*param_2;" (assignment_expression "piVar7 = (int *)*param_2" identifier = (cast_expression "(int *)*param_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));" (call_expression "(*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8))" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1f0)" * (cast_expression "(undefined4 *)(param_1 + 0x1f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x1f8)" * (cast_expression "(undefined4 *)(param_1 + 0x1f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) ))) ;) (expression_statement "*param_2 = *param_2 + *(int *)(param_1 + 0x1f8);" (assignment_expression "*param_2 = *param_2 + *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_2" * identifier) = (binary_expression "*param_2 + *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_2" * identifier) + (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) (expression_statement "*param_3 = *param_3 - *(int *)(param_1 + 0x1f8);" (assignment_expression "*param_3 = *param_3 - *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_3" * identifier) = (binary_expression "*param_3 - *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_3" * identifier) - (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);" (assignment_expression "*(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);" (assignment_expression "*(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1e4)" * (cast_expression "(int *)(param_1 + 0x1e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e4)" ( (binary_expression "param_1 + 0x1e4" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x54) != 0)" ( (binary_expression "*(int *)(param_1 + 0x54) != 0" (pointer_expression "*(int *)(param_1 + 0x54)" * (cast_expression "(int *)(param_1 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }" { (expression_statement "iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);" (assignment_expression "iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" identifier = (call_expression "(*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" (parenthesized_expression "(*(code *)PTR_detect_attack_000b8624)" ( (pointer_expression "*(code *)PTR_detect_attack_000b8624" * (cast_expression "(code *)PTR_detect_attack_000b8624" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" * (cast_expression "(undefined4 *)(param_1 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" * (cast_expression "(undefined4 *)(param_1 + 0x1e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" { (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x78d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x78d0)" identifier (argument_list "(PTR_DAT_000b8348 + -0x78d0)" ( (binary_expression "PTR_DAT_000b8348 + -0x78d0" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }" if (parenthesized_expression "(*(int *)(param_1 + 0x54) != 0)" ( (binary_expression "*(int *)(param_1 + 0x54) != 0" (pointer_expression "*(int *)(param_1 + 0x54)" * (cast_expression "(int *)(param_1 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }" { (expression_statement "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));" (call_expression "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0))" (parenthesized_expression "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))" ( (pointer_expression "**(code **)(*(int *)(param_1 + 0x54) + 0x10)" * (pointer_expression "*(code **)(*(int *)(param_1 + 0x54) + 0x10)" * (cast_expression "(code **)(*(int *)(param_1 + 0x54) + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0x54) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x54) + 0x10" (pointer_expression "*(int *)(param_1 + 0x54)" * (cast_expression "(int *)(param_1 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" * (cast_expression "(undefined4 *)(param_1 + 0x1e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) ))) ;) })) })) (expression_statement "uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);" (assignment_expression "uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" identifier = (call_expression "(*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" (parenthesized_expression "(*(code *)PTR_crc32_compute_000b85b4)" ( (pointer_expression "*(code *)PTR_crc32_compute_000b85b4" * (cast_expression "(code *)PTR_crc32_compute_000b85b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" ( (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "*(int *)(param_1 + 0x1e0) + -4" (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(uint *)(param_1 + 0x1e8) = uVar5;" (assignment_expression "*(uint *)(param_1 + 0x1e8) = uVar5" (pointer_expression "*(uint *)(param_1 + 0x1e8)" * (cast_expression "(uint *)(param_1 + 0x1e8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0)" identifier = (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0)" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1e0)" * (cast_expression "(int *)(param_1 + 0x1e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e0)" ( (binary_expression "param_1 + 0x1e0" identifier + number_literal) )))))) ;) (expression_statement "param_2 = (int *)(uint)*(byte *)(iVar1 + -1);" (assignment_expression "param_2 = (int *)(uint)*(byte *)(iVar1 + -1)" identifier = (binary_expression "(int *)(uint)*(byte *)(iVar1 + -1)" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(iVar1 + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -1)" ( (binary_expression "iVar1 + -1" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;" (assignment_expression "uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8" identifier = (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18" (binary_expression "(uint)*(byte *)(iVar1 + -4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar1 + -4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -4)" ( (binary_expression "iVar1 + -4" identifier + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)(iVar1 + -3) << 0x10" (binary_expression "(uint)*(byte *)(iVar1 + -3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar1 + -3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -3)" ( (binary_expression "iVar1 + -3" identifier + number_literal) )))) << number_literal)) | (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier)) | (binary_expression "(uint)*(byte *)(iVar1 + -2) << 8" (binary_expression "(uint)*(byte *)(iVar1 + -2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar1 + -2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + -2)" ( (binary_expression "iVar1 + -2" identifier + number_literal) )))) << number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0x1ec) = uVar6;" (assignment_expression "*(uint *)(param_1 + 0x1ec) = uVar6" (pointer_expression "*(uint *)(param_1 + 0x1ec)" * (cast_expression "(uint *)(param_1 + 0x1ec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1ec)" ( (binary_expression "param_1 + 0x1ec" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }" if (parenthesized_expression "(uVar5 == uVar6)" ( (binary_expression "uVar5 == uVar6" identifier == identifier) )) (compound_statement "{\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }" { (expression_statement "*(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;" (assignment_expression "*(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc)" (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) ))))) + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }" if (parenthesized_expression "(*(int *)(param_1 + 0x3c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3c) != 0" (pointer_expression "*(int *)(param_1 + 0x3c)" * (cast_expression "(int *)(param_1 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }" { (expression_statement "iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);" (assignment_expression "iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" identifier = (call_expression "(*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" (parenthesized_expression "(*(code *)PTR_zlib_decompress_block_000b8628)" ( (pointer_expression "*(code *)PTR_zlib_decompress_block_000b8628" * (cast_expression "(code *)PTR_zlib_decompress_block_000b8628" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x94)" * (cast_expression "(undefined4 *)(param_1 + 0x94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x94)" ( (binary_expression "param_1 + 0x94" identifier + number_literal) )))) , (binary_expression "(*(int **)(param_1 + 0x1fc))[5] + -1" (subscript_expression "(*(int **)(param_1 + 0x1fc))[5]" (parenthesized_expression "(*(int **)(param_1 + 0x1fc))" ( (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) )) [ number_literal ]) + number_literal) , (binary_expression "**(int **)(param_1 + 0x1fc) + 1" (pointer_expression "**(int **)(param_1 + 0x1fc)" * (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) + number_literal) , (pointer_expression "&local_54" & identifier) , (pointer_expression "&local_50" & identifier) )))) ;) (if_statement "if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }" { (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x7880)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x7880)" identifier (argument_list "(PTR_DAT_000b8348 + -0x7880)" ( (binary_expression "PTR_DAT_000b8348 + -0x7880" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00036e14;" goto statement_identifier ;) })) (expression_statement "iVar1 = *(int *)(param_1 + 0x1dc) + local_50;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1dc) + local_50" identifier = (binary_expression "*(int *)(param_1 + 0x1dc) + local_50" (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }" if (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) < identifier) )) (compound_statement "{\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }" { (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);" (assignment_expression "uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" identifier = (call_expression "saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar1 + 0x1c)" * (cast_expression "(undefined4 *)(iVar1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = uVar2" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) ))))) + number_literal)) ;) })) (expression_statement "param_2 = local_54;" (assignment_expression "param_2 = local_54" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);" (call_expression "(*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50)" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" ( (pointer_expression "*(code *)PTR_memcpy_000b8cec" * (cast_expression "(code *)PTR_memcpy_000b8cec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "safefree(local_54);" (call_expression "safefree(local_54)" identifier (argument_list "(local_54)" ( identifier ))) ;) (expression_statement "**(int **)(param_1 + 0x1fc) = local_50 + -1;" (assignment_expression "**(int **)(param_1 + 0x1fc) = local_50 + -1" (pointer_expression "**(int **)(param_1 + 0x1fc)" * (pointer_expression "*(int **)(param_1 + 0x1fc)" * (cast_expression "(int **)(param_1 + 0x1fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) = (binary_expression "local_50 + -1" identifier + number_literal)) ;) })) (expression_statement "*(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);" (assignment_expression "*(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1fc) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x1fc) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 8)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 8" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "(uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" * (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }" if (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (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) )))) != number_literal) )) (compound_statement "{\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }" { (expression_statement "puVar9 = *(undefined4 **)(param_1 + 0x1fc);" (assignment_expression "puVar9 = *(undefined4 **)(param_1 + 0x1fc)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x1fc)" * (cast_expression "(undefined4 **)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "puVar9[6] = 0;" (assignment_expression "puVar9[6] = 0" (subscript_expression "puVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x24c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x24c)" identifier = (pointer_expression "*(int *)(param_1 + 0x24c)" * (cast_expression "(int *)(param_1 + 0x24c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24c)" ( (binary_expression "param_1 + 0x24c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }" { (labeled_statement "LAB_000373c0:\n            uVar2 = puVar9[2];" statement_identifier : (expression_statement "uVar2 = puVar9[2];" (assignment_expression "uVar2 = puVar9[2]" identifier = (subscript_expression "puVar9[2]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" else (compound_statement "{\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" { (if_statement "if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }" if (parenthesized_expression "(puVar9[2] - 0x11 < 2)" ( (binary_expression "puVar9[2] - 0x11 < 2" (binary_expression "puVar9[2] - 0x11" (subscript_expression "puVar9[2]" identifier [ number_literal ]) - number_literal) < number_literal) )) (compound_statement "{\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }" { (labeled_statement "LAB_00037378:\n              local_4c = puVar9[6] + 4;" statement_identifier : (expression_statement "local_4c = puVar9[6] + 4;" (assignment_expression "local_4c = puVar9[6] + 4" identifier = (binary_expression "puVar9[6] + 4" (subscript_expression "puVar9[6]" identifier [ number_literal ]) + number_literal)) ;)) (expression_statement "local_44 = 2;" (assignment_expression "local_44 = 2" identifier = number_literal) ;) (expression_statement "FUN_000325fc(puVar9,&local_54,&local_50);" (call_expression "FUN_000325fc(puVar9,&local_54,&local_50)" identifier (argument_list "(puVar9,&local_54,&local_50)" ( identifier , (pointer_expression "&local_54" & identifier) , (pointer_expression "&local_50" & identifier) ))) ;) (if_statement "if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }" if (parenthesized_expression "(local_54 == (int *)0x0)" ( (binary_expression "local_54 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                iVar1 = 0;\n              }" { (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }" else (compound_statement "{\n                local_48 = local_50;\n                iVar1 = 1;\n              }" { (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) }))) (goto_statement "goto LAB_000373c0;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (if_statement "if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }" if (parenthesized_expression "(puVar9[2] == 0x17)" ( (binary_expression "puVar9[2] == 0x17" (subscript_expression "puVar9[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }" { (expression_statement "FUN_000309ec(puVar9);" (call_expression "FUN_000309ec(puVar9)" identifier (argument_list "(puVar9)" ( identifier ))) ;) (goto_statement "goto LAB_00037378;" goto statement_identifier ;) })) (expression_statement "uVar2 = puVar9[2];" (assignment_expression "uVar2 = puVar9[2]" identifier = (subscript_expression "puVar9[2]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar3 = FUN_0002fff0(uVar2);" (assignment_expression "uVar3 = FUN_0002fff0(uVar2)" identifier = (call_expression "FUN_0002fff0(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);" (call_expression "log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0)" ( (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) )))) , number_literal , identifier , identifier , (subscript_expression "puVar9[5]" identifier [ number_literal ]) , (pointer_expression "*puVar9" * identifier) , identifier , (pointer_expression "&local_4c" & identifier) , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x18)" ( (binary_expression "*(int *)(param_1 + 0x1fc) + 0x18" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00036e0c;" goto statement_identifier ;) })) (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4)" identifier = (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x78a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dupprintf(PTR_DAT_000b8348 + -0x78a4)" identifier (argument_list "(PTR_DAT_000b8348 + -0x78a4)" ( (binary_expression "PTR_DAT_000b8348 + -0x78a4" identifier + number_literal) ))))) ;) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" * (cast_expression "(undefined4 *)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" else (compound_statement "{\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" { (if_statement "if (iVar1 == 0x574) goto LAB_00036fb8;" if (parenthesized_expression "(iVar1 == 0x574)" ( (binary_expression "iVar1 == 0x574" identifier == number_literal) )) (goto_statement "goto LAB_00036fb8;" goto statement_identifier ;)) (if_statement "if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }" { (expression_statement "iVar1 = FUN_00031244();" (assignment_expression "iVar1 = FUN_00031244()" identifier = (call_expression "FUN_00031244()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(param_1 + 0x1fc) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x1fc) = iVar1" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar1 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar1 + 8)" * (cast_expression "(undefined4 *)(iVar1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "**(undefined4 **)(param_1 + 0x1fc) = 0;" (assignment_expression "**(undefined4 **)(param_1 + 0x1fc) = 0" (pointer_expression "**(undefined4 **)(param_1 + 0x1fc)" * (pointer_expression "*(undefined4 **)(param_1 + 0x1fc)" * (cast_expression "(undefined4 **)(param_1 + 0x1fc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1d8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1d8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1d8)" * (cast_expression "(undefined4 *)(param_1 + 0x1d8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1d8)" ( (binary_expression "param_1 + 0x1d8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 500) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 500) = 0" (pointer_expression "*(undefined4 *)(param_1 + 500)" * (cast_expression "(undefined4 *)(param_1 + 500)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00036e68;" goto statement_identifier ;) })) (labeled_statement "LAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" * (cast_expression "(undefined4 *)(param_1 + 0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1b0)" ( (binary_expression "param_1 + 0x1b0" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" identifier = (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) ))))) ;) (expression_statement "piVar7 = param_2;" (assignment_expression "piVar7 = param_2" identifier = identifier) ;) }))) (labeled_statement "LAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_1c == *(int *)PTR___stack_chk_guard_000b8ce8)" ( (binary_expression "local_1c == *(int *)PTR___stack_chk_guard_000b8ce8" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" * (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) (expression_statement "iVar1 = local_1c;" (assignment_expression "iVar1 = local_1c" identifier = identifier) ;) (expression_statement "puVar11 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000b8cbc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" * (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" identifier = (call_expression "(**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818c8))" ( (pointer_expression "**(code **)(puVar11 + 0x818c8)" * (pointer_expression "*(code **)(puVar11 + 0x818c8)" * (cast_expression "(code **)(puVar11 + 0x818c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818c8)" ( (binary_expression "puVar11 + 0x818c8" identifier + number_literal) ))))) )) (argument_list "(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar10 = (char *)((int)piVar7 + iVar4);" (assignment_expression "pcVar10 = (char *)((int)piVar7 + iVar4)" identifier = (cast_expression "(char *)((int)piVar7 + iVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar7 + iVar4)" ( (binary_expression "(int)piVar7 + iVar4" (cast_expression "(int)piVar7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }" if (parenthesized_expression "(*pcVar10 != '\0')" ( (binary_expression "*pcVar10 != '\0'" (pointer_expression "*pcVar10" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar10 = pcVar10 + 1;\n  }" { (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" identifier = (call_expression "(**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818c8))" ( (pointer_expression "**(code **)(puVar11 + 0x818c8)" * (pointer_expression "*(code **)(puVar11 + 0x818c8)" * (cast_expression "(code **)(puVar11 + 0x818c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818c8)" ( (binary_expression "puVar11 + 0x818c8" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar10 = pcVar10 + iVar4;" (assignment_expression "pcVar10 = pcVar10 + iVar4" identifier = (binary_expression "pcVar10 + iVar4" identifier + identifier)) ;) (if_statement "if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }" if (parenthesized_expression "(*pcVar10 != '\0')" ( (binary_expression "*pcVar10 != '\0'" (pointer_expression "*pcVar10" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar10 = pcVar10 + 1;\n  }" { (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(iVar1 + 0x50) = 0;" (assignment_expression "*(undefined4 *)(iVar1 + 0x50) = 0" (pointer_expression "*(undefined4 *)(iVar1 + 0x50)" * (cast_expression "(undefined4 *)(iVar1 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9c)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }" { (labeled_statement "LAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 1" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7800" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9c)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7854" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x784c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7844" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x783c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7820" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;" if (parenthesized_expression "((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     )" ( (binary_expression "(iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7810" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0003763c;" goto statement_identifier ;)) })) })) })) })) })) })) (goto_statement "goto LAB_00037610;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9d)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }" { (labeled_statement "LAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 4" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x77d0" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9d)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;" if (parenthesized_expression "((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7820" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000376bc;" goto statement_identifier ;)) })) }))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9e)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }" if (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0))))" ( (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))" ( (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0))" ( (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9e)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" (binary_expression "iVar4 == 2" identifier == number_literal) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" identifier = (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" ( (pointer_expression "**(code **)(puVar11 + 0x818e4)" * (pointer_expression "*(code **)(puVar11 + 0x818e4)" * (cast_expression "(code **)(puVar11 + 0x818e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x818e4)" ( (binary_expression "puVar11 + 0x818e4" identifier + number_literal) ))))) )) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 8" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7798" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9f)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }" { (labeled_statement "LAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 2;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 2" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 2" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7724" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9f)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }" if (parenthesized_expression "((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0))" ( (binary_expression "(iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7758" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x774c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;" if (parenthesized_expression "((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0))))" ( (binary_expression "(iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))" ( (parenthesized_expression "((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0))" ( (binary_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0))" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7744" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" (binary_expression "iVar4 != 0" identifier != number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x773c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7734" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000377f8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x772c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037824;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037824;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000377fc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa0)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }" { (labeled_statement "LAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x20;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x20" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x20" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76e4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa0)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }" if (parenthesized_expression "((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0))" ( (binary_expression "(iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7758" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76f4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_000378a8;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000378a8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76ec" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_000378d4;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000378d4;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000378ac;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa1)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }" { (labeled_statement "LAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x10;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x10" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x10" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x765c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa1)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76ac" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;" if (parenthesized_expression "(((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0))" ( (binary_expression "((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)" (parenthesized_expression "((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0))" ( (binary_expression "(iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7698" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7684" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00037934;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7670" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037960;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037960;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037938;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa2)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }" if (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0))))" ( (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))" ( (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0))" ( (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa2)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" (binary_expression "iVar4 == 2" identifier == number_literal) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7628" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) ))) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x80" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7614" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa3)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }" { (labeled_statement "LAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x40;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x40" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x40" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7578" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa3)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75d4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;" if (parenthesized_expression "((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0))))" ( (binary_expression "(((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))" (parenthesized_expression "(((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0))" ( (binary_expression "((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0))" ( (binary_expression "(iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75c8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75b4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))" ( (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0))" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75a0" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" (binary_expression "iVar4 != 0" identifier != number_literal) || (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7594" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) ))) )) (goto_statement "goto LAB_00037a4c;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7584" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037a78;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037a78;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037a50;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (if_statement "if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }" { (labeled_statement "LAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" statement_identifier : (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x100;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x100" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x100" identifier | number_literal)) ;)) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7514" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" else (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7548" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_00037ad8;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00037ad8;" goto statement_identifier ;)) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -30000" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) goto LAB_00037b04;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00037b04;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037adc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);" statement_identifier : (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa5)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;)) (expression_statement "iVar8 = *(int *)(puVar11 + 0x80f04);" (assignment_expression "iVar8 = *(int *)(puVar11 + 0x80f04)" identifier = (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x200" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);" (call_expression "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "iVar8 + -0x74d8" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa6)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }" if (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0))))" ( (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))" ( (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0))" ( (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa6)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" (binary_expression "iVar4 == 2" identifier == number_literal) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x74a8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )))) )) ))) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x1000" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7494" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa7)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar8 = *(int *)(puVar11 + 0x80f04);" (assignment_expression "iVar8 = *(int *)(puVar11 + 0x80f04)" identifier = (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }" { (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar1 + 0x50) | 0x400" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);" (call_expression "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "iVar8 + -0x7460" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa8)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }" { (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier = (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa8)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" * (cast_expression "(undefined4 *)(iVar1 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x248)" ( (binary_expression "iVar1 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar4 != 2) {\n      return iVar4;\n    }" if (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) (compound_statement "{\n      return iVar4;\n    }" { (return_statement "return iVar4;" return identifier ;) })) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7434" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }" if (parenthesized_expression "(((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0))" ( (binary_expression "((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0))" ( (binary_expression "(iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7424" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7410" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }" { (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" identifier = (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" ( (pointer_expression "**(code **)(puVar11 + 0x811e8)" * (pointer_expression "*(code **)(puVar11 + 0x811e8)" * (cast_expression "(code **)(puVar11 + 0x811e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x811e8)" ( (binary_expression "puVar11 + 0x811e8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" ( (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x73f8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n        return 0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00037c34;" goto statement_identifier ;) })) })) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;" statement_identifier : (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x800;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x800" (pointer_expression "*(uint *)(iVar1 + 0x50)" * (cast_expression "(uint *)(iVar1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x50)" ( (binary_expression "iVar1 + 0x50" identifier + number_literal) )))) = (binary_expression "uVar5 | 0x800" identifier | number_literal)) ;)) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" identifier = (call_expression "(**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" ( (pointer_expression "**(code **)(puVar11 + 0x80ea0)" * (pointer_expression "*(code **)(puVar11 + 0x80ea0)" * (cast_expression "(code **)(puVar11 + 0x80ea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x80ea0)" ( (binary_expression "puVar11 + 0x80ea0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" * (cast_expression "(undefined4 *)(iVar1 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x110)" ( (binary_expression "iVar1 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x73e4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" * (cast_expression "(int *)(puVar11 + 0x80f04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x80f04)" ( (binary_expression "puVar11 + 0x80f04" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) | LIT) )) + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) | (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT)) | (cast_expression ( (type_descriptor TYPE) ) IDENT)) | (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ]) + LIT) , (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = 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 IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (pointer_expression * IDENT) , IDENT , (pointer_expression & IDENT) , LIT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) })) })) })) })) })) })) (goto_statement goto statement_identifier ;) })) }))) (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) )))) , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto 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) )))) , 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 IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (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) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | 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) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) )))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (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) )))) , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | 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) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (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) )))) , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | 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) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (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) )))) , 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 IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (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) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | 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) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (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) )))) , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | 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) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (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) )))) , LIT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , 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 IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT != LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (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) )))) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (return_statement return IDENT ;) })))
(function_definition "int FUN_00036dac(int param_1,int *param_2,int *param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}" (primitive_type "int") (function_declarator "FUN_00036dac(int param_1,int *param_2,int *param_3)" (identifier "FUN_00036dac") (parameter_list "(int param_1,int *param_2,int *param_3)" (( "(") (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") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  uint uVar5;\n  uint uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  char *pcVar10;\n  undefined *puVar11;\n  int *local_54;\n  int local_50;\n  int local_4c;\n  int local_48;\n  undefined4 local_44;\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;\n  iVar1 = *(int *)(param_1 + 0x1b0);\n  piVar7 = param_2;\n  if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }\nLAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }\n  iVar1 = local_1c;\n  puVar11 = PTR___stack_chk_fail_000b8cbc;\n  (*(code *)PTR___stack_chk_fail_000b8cbc)();\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = (char *)((int)piVar7 + iVar4);\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);\n  pcVar10 = pcVar10 + iVar4;\n  if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }\n  *(undefined4 *)(iVar1 + 0x50) = 0;\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n  if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }\nLAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n  if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n  if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }\nLAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n  if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }\nLAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n  if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }\nLAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n  if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }\nLAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n  if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }\nLAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);\n  if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);\n  iVar8 = *(int *)(puVar11 + 0x80f04);\n  if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n  if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }\n  uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;\n  iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);\n  return iVar1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "int *local_54;" (primitive_type "int") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000b8ce8" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b8ce8")))) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x1b0);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1b0)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1b0)" (* "*") (cast_expression "(int *)(param_1 + 0x1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")"))))) (; ";")) (expression_statement "piVar7 = param_2;" (assignment_expression "piVar7 = param_2" (identifier "piVar7") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (iVar1 == 0x55c) {\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }\n  else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" (if "if") (parenthesized_expression "(iVar1 == 0x55c)" (( "(") (binary_expression "iVar1 == 0x55c" (identifier "iVar1") (== "==") (number_literal "0x55c")) () ")")) (compound_statement "{\nLAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);\n    uVar6 = *(uint *)(param_1 + 0x1d8);\n    uVar5 = uVar6 & 0x80000007;\n    if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }\n    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;\n    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);\n    **(int **)(param_1 + 0x1fc) = uVar6 - 5;\n    piVar7 = (int *)0x1;\n    if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n  }" ({ "{") (labeled_statement "LAB_00036e68:\n    do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);" (statement_identifier "LAB_00036e68") (: ":") (do_statement "do {\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    } while (iVar1 < 4);" (do "do") (compound_statement "{\n      if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }\n      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;\n      *param_2 = *param_2 + 1;\n      *param_3 = *param_3 + -1;\n      iVar1 = *(int *)(param_1 + 500) + 1;\n      *(int *)(param_1 + 500) = iVar1;\n    }" ({ "{") (if_statement "if (*param_3 == 0) {\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }" (if "if") (parenthesized_expression "(*param_3 == 0)" (( "(") (binary_expression "*param_3 == 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;\n        iVar1 = 0;\n        goto LAB_00036e14;\n      }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0x55c;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0x55c" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")")))) (= "=") (number_literal "0x55c")) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00036e14;" (goto "goto") (statement_identifier "LAB_00036e14") (; ";")) (} "}"))) (expression_statement "*(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;" (assignment_expression "*(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2" (pointer_expression "*(uint *)(param_1 + 0x1d8)" (* "*") (cast_expression "(uint *)(param_1 + 0x1d8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1d8)" (( "(") (binary_expression "param_1 + 0x1d8" (identifier "param_1") (+ "+") (number_literal "0x1d8")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2" (binary_expression "*(int *)(param_1 + 0x1d8) * 0x100" (pointer_expression "*(int *)(param_1 + 0x1d8)" (* "*") (cast_expression "(int *)(param_1 + 0x1d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1d8)" (( "(") (binary_expression "param_1 + 0x1d8" (identifier "param_1") (+ "+") (number_literal "0x1d8")) () ")")))) (* "*") (number_literal "0x100")) (+ "+") (binary_expression "(uint)*(byte *)*param_2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)*param_2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))))) (; ";")) (expression_statement "*param_2 = *param_2 + 1;" (assignment_expression "*param_2 = *param_2 + 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (binary_expression "*param_2 + 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*param_3 = *param_3 + -1;" (assignment_expression "*param_3 = *param_3 + -1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "*param_3 + -1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 500) + 1;" (assignment_expression "iVar1 = *(int *)(param_1 + 500) + 1" (identifier "iVar1") (= "=") (binary_expression "*(int *)(param_1 + 500) + 1" (pointer_expression "*(int *)(param_1 + 500)" (* "*") (cast_expression "(int *)(param_1 + 500)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 500)" (( "(") (binary_expression "param_1 + 500" (identifier "param_1") (+ "+") (number_literal "500")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(param_1 + 500) = iVar1;" (assignment_expression "*(int *)(param_1 + 500) = iVar1" (pointer_expression "*(int *)(param_1 + 500)" (* "*") (cast_expression "(int *)(param_1 + 500)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 500)" (( "(") (binary_expression "param_1 + 500" (identifier "param_1") (+ "+") (number_literal "500")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 < 4)" (( "(") (binary_expression "iVar1 < 4" (identifier "iVar1") (< "<") (number_literal "4")) () ")")) (; ";"))) (expression_statement "uVar6 = *(uint *)(param_1 + 0x1d8);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x1d8)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0x1d8)" (* "*") (cast_expression "(uint *)(param_1 + 0x1d8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1d8)" (( "(") (binary_expression "param_1 + 0x1d8" (identifier "param_1") (+ "+") (number_literal "0x1d8")) () ")"))))) (; ";")) (expression_statement "uVar5 = uVar6 & 0x80000007;" (assignment_expression "uVar5 = uVar6 & 0x80000007" (identifier "uVar5") (= "=") (binary_expression "uVar6 & 0x80000007" (identifier "uVar6") (& "&") (number_literal "0x80000007"))) (; ";")) (if_statement "if ((int)uVar5 < 0) {\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }" (if "if") (parenthesized_expression "((int)uVar5 < 0)" (( "(") (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;\n    }" ({ "{") (expression_statement "uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;" (assignment_expression "uVar5 = (uVar5 - 1 | 0xfffffff8) + 1" (identifier "uVar5") (= "=") (binary_expression "(uVar5 - 1 | 0xfffffff8) + 1" (parenthesized_expression "(uVar5 - 1 | 0xfffffff8)" (( "(") (binary_expression "uVar5 - 1 | 0xfffffff8" (binary_expression "uVar5 - 1" (identifier "uVar5") (- "-") (number_literal "1")) (| "|") (number_literal "0xfffffff8")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(param_1 + 0x1dc) = 8 - uVar5;" (assignment_expression "*(uint *)(param_1 + 0x1dc) = 8 - uVar5" (pointer_expression "*(uint *)(param_1 + 0x1dc)" (* "*") (cast_expression "(uint *)(param_1 + 0x1dc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1dc)" (( "(") (binary_expression "param_1 + 0x1dc" (identifier "param_1") (+ "+") (number_literal "0x1dc")) () ")")))) (= "=") (binary_expression "8 - uVar5" (number_literal "8") (- "-") (identifier "uVar5"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);" (assignment_expression "*(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5)" (pointer_expression "*(uint *)(param_1 + 0x1e0)" (* "*") (cast_expression "(uint *)(param_1 + 0x1e0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")")))) (= "=") (binary_expression "uVar6 + (8 - uVar5)" (identifier "uVar6") (+ "+") (parenthesized_expression "(8 - uVar5)" (( "(") (binary_expression "8 - uVar5" (number_literal "8") (- "-") (identifier "uVar5")) () ")")))) (; ";")) (expression_statement "**(int **)(param_1 + 0x1fc) = uVar6 - 5;" (assignment_expression "**(int **)(param_1 + 0x1fc) = uVar6 - 5" (pointer_expression "**(int **)(param_1 + 0x1fc)" (* "*") (pointer_expression "*(int **)(param_1 + 0x1fc)" (* "*") (cast_expression "(int **)(param_1 + 0x1fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (= "=") (binary_expression "uVar6 - 5" (identifier "uVar6") (- "-") (number_literal "5"))) (; ";")) (expression_statement "piVar7 = (int *)0x1;" (assignment_expression "piVar7 = (int *)0x1" (identifier "piVar7") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1e0) < 0) {\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }\n    else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1e0) < 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1e0) < 0" (pointer_expression "*(int *)(param_1 + 0x1e0)" (* "*") (cast_expression "(int *)(param_1 + 0x1e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" ({ "{") (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c)" (identifier "piVar7") (= "=") (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x791c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dupprintf(PTR_DAT_000b8348 + -0x791c)" (identifier "dupprintf") (argument_list "(PTR_DAT_000b8348 + -0x791c)" (( "(") (binary_expression "PTR_DAT_000b8348 + -0x791c" (identifier "PTR_DAT_000b8348") (+ "+") (number_literal "-0x791c")) () ")"))))) (; ";")) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" (identifier "FUN_0003533c") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" (identifier "FUN_00030d54") (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" (else "else") (compound_statement "{\n      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);\n      iVar1 = *(int *)(param_1 + 0x1fc);\n      uVar2 = safemalloc();\n      *(undefined4 *)(iVar1 + 0x10) = uVar2;\n      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);\n      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);\n      while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }\n      if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }\n      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);\n      *(uint *)(param_1 + 0x1e8) = uVar5;\n      iVar4 = *(int *)(param_1 + 0x1fc);\n      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);\n      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);\n      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;\n      *(uint *)(param_1 + 0x1ec) = uVar6;\n      if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }\n      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);\n      FUN_0003533c(param_1);\n      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n      *(undefined4 *)(param_1 + 0x1b0) = 0;\n      iVar1 = 0;\n    }" ({ "{") (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(int *)(param_1 + 0x1e0)" (* "*") (cast_expression "(int *)(param_1 + 0x1e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (; ";")) (expression_statement "uVar2 = safemalloc();" (assignment_expression "uVar2 = safemalloc()" (identifier "uVar2") (= "=") (call_expression "safemalloc()" (identifier "safemalloc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = uVar2" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);" (assignment_expression "*(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0)" (pointer_expression "*(undefined4 *)(param_1 + 0x1e4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1e4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e4)" (( "(") (binary_expression "param_1 + 0x1e4" (identifier "param_1") (+ "+") (number_literal "0x1e4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1e0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);" (assignment_expression "*(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (pointer_expression "*(undefined4 *)(param_1 + 0x1f0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1f0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (while_statement "while (0 < *(int *)(param_1 + 0x1e4)) {\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }" (while "while") (parenthesized_expression "(0 < *(int *)(param_1 + 0x1e4))" (( "(") (binary_expression "0 < *(int *)(param_1 + 0x1e4)" (number_literal "0") (< "<") (pointer_expression "*(int *)(param_1 + 0x1e4)" (* "*") (cast_expression "(int *)(param_1 + 0x1e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e4)" (( "(") (binary_expression "param_1 + 0x1e4" (identifier "param_1") (+ "+") (number_literal "0x1e4")) () ")"))))) () ")")) (compound_statement "{\n        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);\nLAB_00036fb8:\n        iVar1 = *param_3;\n        if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }\n        piVar7 = (int *)*param_2;\n        (*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));\n        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);\n        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);\n        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);\n      }" ({ "{") (expression_statement "*(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);" (assignment_expression "*(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4)" (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))) (= "=") (pointer_expression "*(int *)(param_1 + 0x1e4)" (* "*") (cast_expression "(int *)(param_1 + 0x1e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e4)" (( "(") (binary_expression "param_1 + 0x1e4" (identifier "param_1") (+ "+") (number_literal "0x1e4")) () ")"))))) (; ";")) (labeled_statement "LAB_00036fb8:\n        iVar1 = *param_3;" (statement_identifier "LAB_00036fb8") (: ":") (expression_statement "iVar1 = *param_3;" (assignment_expression "iVar1 = *param_3" (identifier "iVar1") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";"))) (if_statement "if (iVar1 == 0) {\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(param_1 + 0x1b0) = 0x574;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0x574;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0x574" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")")))) (= "=") (number_literal "0x574")) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00036e14;" (goto "goto") (statement_identifier "LAB_00036e14") (; ";")) (} "}"))) (if_statement "if (iVar1 < *(int *)(param_1 + 0x1f8)) {\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }" (if "if") (parenthesized_expression "(iVar1 < *(int *)(param_1 + 0x1f8))" (( "(") (binary_expression "iVar1 < *(int *)(param_1 + 0x1f8)" (identifier "iVar1") (< "<") (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")"))))) () ")")) (compound_statement "{\n          *(int *)(param_1 + 0x1f8) = iVar1;\n        }" ({ "{") (expression_statement "*(int *)(param_1 + 0x1f8) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x1f8) = iVar1" (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (} "}"))) (expression_statement "piVar7 = (int *)*param_2;" (assignment_expression "piVar7 = (int *)*param_2" (identifier "piVar7") (= "=") (cast_expression "(int *)*param_2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));" (call_expression "(*(code *)PTR_memcpy_000b8cec)\n                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8))" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000b8cec" (* "*") (cast_expression "(code *)PTR_memcpy_000b8cec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000b8cec"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x1f0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1f0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (, ",") (identifier "piVar7") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x1f8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1f8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))) () ")"))) (; ";")) (expression_statement "*param_2 = *param_2 + *(int *)(param_1 + 0x1f8);" (assignment_expression "*param_2 = *param_2 + *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (binary_expression "*param_2 + *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))))) (; ";")) (expression_statement "*param_3 = *param_3 - *(int *)(param_1 + 0x1f8);" (assignment_expression "*param_3 = *param_3 - *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "*param_3 - *(int *)(param_1 + 0x1f8)" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (- "-") (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))))) (; ";")) (expression_statement "*(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);" (assignment_expression "*(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1f0)" (* "*") (cast_expression "(int *)(param_1 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1f0)" (* "*") (cast_expression "(int *)(param_1 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))))) (; ";")) (expression_statement "*(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);" (assignment_expression "*(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1e4)" (* "*") (cast_expression "(int *)(param_1 + 0x1e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e4)" (( "(") (binary_expression "param_1 + 0x1e4" (identifier "param_1") (+ "+") (number_literal "0x1e4")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8)" (pointer_expression "*(int *)(param_1 + 0x1e4)" (* "*") (cast_expression "(int *)(param_1 + 0x1e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e4)" (( "(") (binary_expression "param_1 + 0x1e4" (identifier "param_1") (+ "+") (number_literal "0x1e4")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x54) != 0) {\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x54) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x54) != 0" (pointer_expression "*(int *)(param_1 + 0x54)" (* "*") (cast_expression "(int *)(param_1 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);\n        if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }\n        if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }\n      }" ({ "{") (expression_statement "iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0);" (assignment_expression "iVar1 = (*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_detect_attack_000b8624)\n                          (*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" (parenthesized_expression "(*(code *)PTR_detect_attack_000b8624)" (( "(") (pointer_expression "*(code *)PTR_detect_attack_000b8624" (* "*") (cast_expression "(code *)PTR_detect_attack_000b8624" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_detect_attack_000b8624"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x5c),\n                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                           *(undefined4 *)(param_1 + 0x1e0),0)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x5c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1e0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")")))) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);\n          FUN_0003533c(param_1);\n          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n          *(undefined4 *)(param_1 + 0x1b0) = 0;\n          iVar1 = 0;\n          goto LAB_00036e14;\n        }" ({ "{") (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0)" (identifier "piVar7") (= "=") (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x78d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dupprintf(PTR_DAT_000b8348 + -0x78d0)" (identifier "dupprintf") (argument_list "(PTR_DAT_000b8348 + -0x78d0)" (( "(") (binary_expression "PTR_DAT_000b8348 + -0x78d0" (identifier "PTR_DAT_000b8348") (+ "+") (number_literal "-0x78d0")) () ")"))))) (; ";")) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" (identifier "FUN_0003533c") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" (identifier "FUN_00030d54") (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00036e14;" (goto "goto") (statement_identifier "LAB_00036e14") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x54) != 0) {\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x54) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x54) != 0" (pointer_expression "*(int *)(param_1 + 0x54)" (* "*") (cast_expression "(int *)(param_1 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));\n        }" ({ "{") (expression_statement "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0));" (call_expression "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))\n                    (*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0))" (parenthesized_expression "(**(code **)(*(int *)(param_1 + 0x54) + 0x10))" (( "(") (pointer_expression "**(code **)(*(int *)(param_1 + 0x54) + 0x10)" (* "*") (pointer_expression "*(code **)(*(int *)(param_1 + 0x54) + 0x10)" (* "*") (cast_expression "(code **)(*(int *)(param_1 + 0x54) + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x54) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x54) + 0x10" (pointer_expression "*(int *)(param_1 + 0x54)" (* "*") (cast_expression "(int *)(param_1 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x58),\n                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                     *(undefined4 *)(param_1 + 0x1e0))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x58)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x1e0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1e0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4);" (assignment_expression "uVar5 = (*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_crc32_compute_000b85b4)\n                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" (parenthesized_expression "(*(code *)PTR_crc32_compute_000b85b4)" (( "(") (pointer_expression "*(code *)PTR_crc32_compute_000b85b4" (* "*") (cast_expression "(code *)PTR_crc32_compute_000b85b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_crc32_compute_000b85b4"))) () ")")) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),\n                         *(int *)(param_1 + 0x1e0) + -4)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (binary_expression "*(int *)(param_1 + 0x1e0) + -4" (pointer_expression "*(int *)(param_1 + 0x1e0)" (* "*") (cast_expression "(int *)(param_1 + 0x1e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")")))) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x1e8) = uVar5;" (assignment_expression "*(uint *)(param_1 + 0x1e8) = uVar5" (pointer_expression "*(uint *)(param_1 + 0x1e8)" (* "*") (cast_expression "(uint *)(param_1 + 0x1e8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e8)" (( "(") (binary_expression "param_1 + 0x1e8" (identifier "param_1") (+ "+") (number_literal "0x1e8")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar4 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x1fc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);" (assignment_expression "iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0)" (identifier "iVar1") (= "=") (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0)" (pointer_expression "*(int *)(iVar4 + 0x10)" (* "*") (cast_expression "(int *)(iVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1e0)" (* "*") (cast_expression "(int *)(param_1 + 0x1e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e0)" (( "(") (binary_expression "param_1 + 0x1e0" (identifier "param_1") (+ "+") (number_literal "0x1e0")) () ")")))))) (; ";")) (expression_statement "param_2 = (int *)(uint)*(byte *)(iVar1 + -1);" (assignment_expression "param_2 = (int *)(uint)*(byte *)(iVar1 + -1)" (identifier "param_2") (= "=") (binary_expression "(int *)(uint)*(byte *)(iVar1 + -1)" (cast_expression "(int *)(uint)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)(iVar1 + -1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + -1)" (( "(") (binary_expression "iVar1 + -1" (identifier "iVar1") (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;" (assignment_expression "uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8" (identifier "uVar6") (= "=") (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |\n              (uint)param_2" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10" (binary_expression "(uint)*(byte *)(iVar1 + -4) << 0x18" (binary_expression "(uint)*(byte *)(iVar1 + -4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar1 + -4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + -4)" (( "(") (binary_expression "iVar1 + -4" (identifier "iVar1") (+ "+") (number_literal "-4")) () ")")))) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uint)*(byte *)(iVar1 + -3) << 0x10" (binary_expression "(uint)*(byte *)(iVar1 + -3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar1 + -3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + -3)" (( "(") (binary_expression "iVar1 + -3" (identifier "iVar1") (+ "+") (number_literal "-3")) () ")")))) (<< "<<") (number_literal "0x10"))) (| "|") (cast_expression "(uint)param_2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_2"))) (| "|") (binary_expression "(uint)*(byte *)(iVar1 + -2) << 8" (binary_expression "(uint)*(byte *)(iVar1 + -2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar1 + -2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + -2)" (( "(") (binary_expression "iVar1 + -2" (identifier "iVar1") (+ "+") (number_literal "-2")) () ")")))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x1ec) = uVar6;" (assignment_expression "*(uint *)(param_1 + 0x1ec) = uVar6" (pointer_expression "*(uint *)(param_1 + 0x1ec)" (* "*") (cast_expression "(uint *)(param_1 + 0x1ec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1ec)" (( "(") (binary_expression "param_1 + 0x1ec" (identifier "param_1") (+ "+") (number_literal "0x1ec")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (if_statement "if (uVar5 == uVar6) {\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }" (if "if") (parenthesized_expression "(uVar5 == uVar6)" (( "(") (binary_expression "uVar5 == uVar6" (identifier "uVar5") (== "==") (identifier "uVar6")) () ")")) (compound_statement "{\n        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n        if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }\n        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);\n        if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }\n        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;\n        goto LAB_00036e0c;\n      }" ({ "{") (expression_statement "*(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;" (assignment_expression "*(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (binary_expression "*(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc)" (pointer_expression "*(int *)(iVar4 + 0x10)" (* "*") (cast_expression "(int *)(iVar4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1dc)" (* "*") (cast_expression "(int *)(param_1 + 0x1dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1dc)" (( "(") (binary_expression "param_1 + 0x1dc" (identifier "param_1") (+ "+") (number_literal "0x1dc")) () ")"))))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x3c) != 0) {\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3c) != 0" (pointer_expression "*(int *)(param_1 + 0x3c)" (* "*") (cast_expression "(int *)(param_1 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);\n          if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }\n          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;\n          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }\n          param_2 = local_54;\n          (*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);\n          safefree(local_54);\n          **(int **)(param_1 + 0x1fc) = local_50 + -1;\n        }" ({ "{") (expression_statement "iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);" (assignment_expression "iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_zlib_decompress_block_000b8628)\n                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" (parenthesized_expression "(*(code *)PTR_zlib_decompress_block_000b8628)" (( "(") (pointer_expression "*(code *)PTR_zlib_decompress_block_000b8628" (* "*") (cast_expression "(code *)PTR_zlib_decompress_block_000b8628" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_zlib_decompress_block_000b8628"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,\n                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x94)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x94)" (( "(") (binary_expression "param_1 + 0x94" (identifier "param_1") (+ "+") (number_literal "0x94")) () ")")))) (, ",") (binary_expression "(*(int **)(param_1 + 0x1fc))[5] + -1" (subscript_expression "(*(int **)(param_1 + 0x1fc))[5]" (parenthesized_expression "(*(int **)(param_1 + 0x1fc))" (( "(") (pointer_expression "*(int **)(param_1 + 0x1fc)" (* "*") (cast_expression "(int **)(param_1 + 0x1fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) () ")")) ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "-1")) (, ",") (binary_expression "**(int **)(param_1 + 0x1fc) + 1" (pointer_expression "**(int **)(param_1 + 0x1fc)" (* "*") (pointer_expression "*(int **)(param_1 + 0x1fc)" (* "*") (cast_expression "(int **)(param_1 + 0x1fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (+ "+") (number_literal "1")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (pointer_expression "&local_50" (& "&") (identifier "local_50")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);\n            FUN_0003533c(param_1);\n            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));\n            *(undefined4 *)(param_1 + 0x1b0) = 0;\n            iVar1 = 0;\n            goto LAB_00036e14;\n          }" ({ "{") (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880)" (identifier "piVar7") (= "=") (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x7880)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dupprintf(PTR_DAT_000b8348 + -0x7880)" (identifier "dupprintf") (argument_list "(PTR_DAT_000b8348 + -0x7880)" (( "(") (binary_expression "PTR_DAT_000b8348 + -0x7880" (identifier "PTR_DAT_000b8348") (+ "+") (number_literal "-0x7880")) () ")"))))) (; ";")) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" (identifier "FUN_0003533c") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" (identifier "FUN_00030d54") (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00036e14;" (goto "goto") (statement_identifier "LAB_00036e14") (; ";")) (} "}"))) (expression_statement "iVar1 = *(int *)(param_1 + 0x1dc) + local_50;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1dc) + local_50" (identifier "iVar1") (= "=") (binary_expression "*(int *)(param_1 + 0x1dc) + local_50" (pointer_expression "*(int *)(param_1 + 0x1dc)" (* "*") (cast_expression "(int *)(param_1 + 0x1dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1dc)" (( "(") (binary_expression "param_1 + 0x1dc" (identifier "param_1") (+ "+") (number_literal "0x1dc")) () ")")))) (+ "+") (identifier "local_50"))) (; ";")) (if_statement "if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (< "<") (identifier "iVar1")) () ")")) (compound_statement "{\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;\n            iVar1 = *(int *)(param_1 + 0x1fc);\n            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);\n            *(undefined4 *)(iVar1 + 0x10) = uVar2;\n            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;\n          }" ({ "{") (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x1c)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (; ";")) (expression_statement "uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);" (assignment_expression "uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" (identifier "uVar2") (= "=") (call_expression "saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" (identifier "saferealloc") (argument_list "(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1c)" (( "(") (binary_expression "iVar1 + 0x1c" (identifier "iVar1") (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = uVar2" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =\n                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1" (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc)" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x10" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1dc)" (* "*") (cast_expression "(int *)(param_1 + 0x1dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1dc)" (( "(") (binary_expression "param_1 + 0x1dc" (identifier "param_1") (+ "+") (number_literal "0x1dc")) () ")"))))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "param_2 = local_54;" (assignment_expression "param_2 = local_54" (identifier "param_2") (= "=") (identifier "local_54")) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);" (call_expression "(*(code *)PTR_memcpy_000b8cec)\n                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50)" (parenthesized_expression "(*(code *)PTR_memcpy_000b8cec)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000b8cec" (* "*") (cast_expression "(code *)PTR_memcpy_000b8cec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000b8cec"))) () ")")) (argument_list "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "-1")) (, ",") (identifier "local_54") (, ",") (identifier "local_50") () ")"))) (; ";")) (expression_statement "safefree(local_54);" (call_expression "safefree(local_54)" (identifier "safefree") (argument_list "(local_54)" (( "(") (identifier "local_54") () ")"))) (; ";")) (expression_statement "**(int **)(param_1 + 0x1fc) = local_50 + -1;" (assignment_expression "**(int **)(param_1 + 0x1fc) = local_50 + -1" (pointer_expression "**(int **)(param_1 + 0x1fc)" (* "*") (pointer_expression "*(int **)(param_1 + 0x1fc)" (* "*") (cast_expression "(int **)(param_1 + 0x1fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (= "=") (binary_expression "local_50 + -1" (identifier "local_50") (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "*(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);" (assignment_expression "*(uint *)(*(int *)(param_1 + 0x1fc) + 8) =\n             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1fc) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x1fc) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 8)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 8" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x1fc) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x14)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x14" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x18) != 0) {\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) != 0" (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")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar9 = *(undefined4 **)(param_1 + 0x1fc);\n          puVar9[6] = 0;\n          iVar1 = *(int *)(param_1 + 0x24c);\n          if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }\n          uVar3 = FUN_0002fff0(uVar2);\n          param_2 = (int *)0x0;\n          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);\n        }" ({ "{") (expression_statement "puVar9 = *(undefined4 **)(param_1 + 0x1fc);" (assignment_expression "puVar9 = *(undefined4 **)(param_1 + 0x1fc)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x1fc)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x1fc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (; ";")) (expression_statement "puVar9[6] = 0;" (assignment_expression "puVar9[6] = 0" (subscript_expression "puVar9[6]" (identifier "puVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x24c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x24c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x24c)" (* "*") (cast_expression "(int *)(param_1 + 0x24c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24c)" (( "(") (binary_expression "param_1 + 0x24c" (identifier "param_1") (+ "+") (number_literal "0x24c")) () ")"))))) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }\n          else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000373c0:\n            uVar2 = puVar9[2];\n          }" ({ "{") (labeled_statement "LAB_000373c0:\n            uVar2 = puVar9[2];" (statement_identifier "LAB_000373c0") (: ":") (expression_statement "uVar2 = puVar9[2];" (assignment_expression "uVar2 = puVar9[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (} "}")) (else_clause "else {\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" (else "else") (compound_statement "{\n            if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }\n            iVar1 = 0;\n            if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }\n            uVar2 = puVar9[2];\n          }" ({ "{") (if_statement "if (puVar9[2] - 0x11 < 2) {\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }" (if "if") (parenthesized_expression "(puVar9[2] - 0x11 < 2)" (( "(") (binary_expression "puVar9[2] - 0x11 < 2" (binary_expression "puVar9[2] - 0x11" (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x11")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_00037378:\n              local_4c = puVar9[6] + 4;\n              local_44 = 2;\n              FUN_000325fc(puVar9,&local_54,&local_50);\n              if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }\n              goto LAB_000373c0;\n            }" ({ "{") (labeled_statement "LAB_00037378:\n              local_4c = puVar9[6] + 4;" (statement_identifier "LAB_00037378") (: ":") (expression_statement "local_4c = puVar9[6] + 4;" (assignment_expression "local_4c = puVar9[6] + 4" (identifier "local_4c") (= "=") (binary_expression "puVar9[6] + 4" (subscript_expression "puVar9[6]" (identifier "puVar9") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "4"))) (; ";"))) (expression_statement "local_44 = 2;" (assignment_expression "local_44 = 2" (identifier "local_44") (= "=") (number_literal "2")) (; ";")) (expression_statement "FUN_000325fc(puVar9,&local_54,&local_50);" (call_expression "FUN_000325fc(puVar9,&local_54,&local_50)" (identifier "FUN_000325fc") (argument_list "(puVar9,&local_54,&local_50)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (pointer_expression "&local_50" (& "&") (identifier "local_50")) () ")"))) (; ";")) (if_statement "if (local_54 == (int *)0x0) {\n                iVar1 = 0;\n              }\n              else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }" (if "if") (parenthesized_expression "(local_54 == (int *)0x0)" (( "(") (binary_expression "local_54 == (int *)0x0" (identifier "local_54") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                iVar1 = 0;\n              }" ({ "{") (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                local_48 = local_50;\n                iVar1 = 1;\n              }" (else "else") (compound_statement "{\n                local_48 = local_50;\n                iVar1 = 1;\n              }" ({ "{") (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" (identifier "local_48") (= "=") (identifier "local_50")) (; ";")) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" (identifier "iVar1") (= "=") (number_literal "1")) (; ";")) (} "}")))) (goto_statement "goto LAB_000373c0;" (goto "goto") (statement_identifier "LAB_000373c0") (; ";")) (} "}"))) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar9[2] == 0x17) {\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }" (if "if") (parenthesized_expression "(puVar9[2] == 0x17)" (( "(") (binary_expression "puVar9[2] == 0x17" (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x17")) () ")")) (compound_statement "{\n              FUN_000309ec(puVar9);\n              goto LAB_00037378;\n            }" ({ "{") (expression_statement "FUN_000309ec(puVar9);" (call_expression "FUN_000309ec(puVar9)" (identifier "FUN_000309ec") (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")"))) (; ";")) (goto_statement "goto LAB_00037378;" (goto "goto") (statement_identifier "LAB_00037378") (; ";")) (} "}"))) (expression_statement "uVar2 = puVar9[2];" (assignment_expression "uVar2 = puVar9[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar9[2]" (identifier "puVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (expression_statement "uVar3 = FUN_0002fff0(uVar2);" (assignment_expression "uVar3 = FUN_0002fff0(uVar2)" (identifier "uVar3") (= "=") (call_expression "FUN_0002fff0(uVar2)" (identifier "FUN_0002fff0") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "param_2 = (int *)0x0;" (assignment_expression "param_2 = (int *)0x0" (identifier "param_2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0);" (call_expression "log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0)" (identifier "log_packet") (argument_list "(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c\n                     ,0,0,0)" (( "(") (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")) () ")")))) (, ",") (number_literal "0") (, ",") (identifier "uVar2") (, ",") (identifier "uVar3") (, ",") (subscript_expression "puVar9[5]" (identifier "puVar9") ([ "[") (number_literal "5") (] "]")) (, ",") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (, ",") (identifier "iVar1") (, ",") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1fc) + 0x18)" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) + 0x18" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00036e0c;" (goto "goto") (statement_identifier "LAB_00036e0c") (; ";")) (} "}"))) (expression_statement "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);" (assignment_expression "piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4)" (identifier "piVar7") (= "=") (cast_expression "(int *)dupprintf(PTR_DAT_000b8348 + -0x78a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dupprintf(PTR_DAT_000b8348 + -0x78a4)" (identifier "dupprintf") (argument_list "(PTR_DAT_000b8348 + -0x78a4)" (( "(") (binary_expression "PTR_DAT_000b8348 + -0x78a4" (identifier "PTR_DAT_000b8348") (+ "+") (number_literal "-0x78a4")) () ")"))))) (; ";")) (expression_statement "FUN_0003533c(param_1);" (call_expression "FUN_0003533c(param_1)" (identifier "FUN_0003533c") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));" (call_expression "FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc))" (identifier "FUN_00030d54") (argument_list "(*(undefined4 *)(param_1 + 0x1fc))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x1fc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1fc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" (else "else") (compound_statement "{\n    if (iVar1 == 0x574) goto LAB_00036fb8;\n    if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }\nLAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;\n    iVar1 = *(int *)(param_1 + 0x1fc);\n    piVar7 = param_2;\n  }" ({ "{") (if_statement "if (iVar1 == 0x574) goto LAB_00036fb8;" (if "if") (parenthesized_expression "(iVar1 == 0x574)" (( "(") (binary_expression "iVar1 == 0x574" (identifier "iVar1") (== "==") (number_literal "0x574")) () ")")) (goto_statement "goto LAB_00036fb8;" (goto "goto") (statement_identifier "LAB_00036fb8") (; ";"))) (if_statement "if (iVar1 == 0) {\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = FUN_00031244();\n      *(int *)(param_1 + 0x1fc) = iVar1;\n      *(undefined4 *)(iVar1 + 8) = 0;\n      **(undefined4 **)(param_1 + 0x1fc) = 0;\n      *(undefined4 *)(param_1 + 0x1d8) = 0;\n      *(undefined4 *)(param_1 + 500) = 0;\n      goto LAB_00036e68;\n    }" ({ "{") (expression_statement "iVar1 = FUN_00031244();" (assignment_expression "iVar1 = FUN_00031244()" (identifier "iVar1") (= "=") (call_expression "FUN_00031244()" (identifier "FUN_00031244") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(param_1 + 0x1fc) = iVar1;" (assignment_expression "*(int *)(param_1 + 0x1fc) = iVar1" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar1 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar1 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "**(undefined4 **)(param_1 + 0x1fc) = 0;" (assignment_expression "**(undefined4 **)(param_1 + 0x1fc) = 0" (pointer_expression "**(undefined4 **)(param_1 + 0x1fc)" (* "*") (pointer_expression "*(undefined4 **)(param_1 + 0x1fc)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x1fc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1d8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1d8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1d8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1d8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1d8)" (( "(") (binary_expression "param_1 + 0x1d8" (identifier "param_1") (+ "+") (number_literal "0x1d8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 500) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 500) = 0" (pointer_expression "*(undefined4 *)(param_1 + 500)" (* "*") (cast_expression "(undefined4 *)(param_1 + 500)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 500)" (( "(") (binary_expression "param_1 + 500" (identifier "param_1") (+ "+") (number_literal "500")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00036e68;" (goto "goto") (statement_identifier "LAB_00036e68") (; ";")) (} "}"))) (labeled_statement "LAB_00036e0c:\n    *(undefined4 *)(param_1 + 0x1b0) = 0;" (statement_identifier "LAB_00036e0c") (: ":") (expression_statement "*(undefined4 *)(param_1 + 0x1b0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1b0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1b0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1b0)" (( "(") (binary_expression "param_1 + 0x1b0" (identifier "param_1") (+ "+") (number_literal "0x1b0")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar1 = *(int *)(param_1 + 0x1fc);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1fc)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")"))))) (; ";")) (expression_statement "piVar7 = param_2;" (assignment_expression "piVar7 = param_2" (identifier "piVar7") (= "=") (identifier "param_2")) (; ";")) (} "}")))) (labeled_statement "LAB_00036e14:\n  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" (statement_identifier "LAB_00036e14") (: ":") (if_statement "if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(local_1c == *(int *)PTR___stack_chk_guard_000b8ce8)" (( "(") (binary_expression "local_1c == *(int *)PTR___stack_chk_guard_000b8ce8" (identifier "local_1c") (== "==") (pointer_expression "*(int *)PTR___stack_chk_guard_000b8ce8" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000b8ce8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b8ce8")))) () ")")) (compound_statement "{\n    return iVar1;\n  }" ({ "{") (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))) (expression_statement "iVar1 = local_1c;" (assignment_expression "iVar1 = local_1c" (identifier "iVar1") (= "=") (identifier "local_1c")) (; ";")) (expression_statement "puVar11 = PTR___stack_chk_fail_000b8cbc;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000b8cbc" (identifier "puVar11") (= "=") (identifier "PTR___stack_chk_fail_000b8cbc")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000b8cbc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b8cbc)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b8cbc" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b8cbc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b8cbc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818c8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818c8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818c8)" (* "*") (cast_expression "(code **)(puVar11 + 0x818c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818c8)" (( "(") (binary_expression "puVar11 + 0x818c8" (identifier "puVar11") (+ "+") (number_literal "0x818c8")) () ")"))))) () ")")) (argument_list "(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834)" (( "(") (identifier "piVar7") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "0x1834")) () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)((int)piVar7 + iVar4);" (assignment_expression "pcVar10 = (char *)((int)piVar7 + iVar4)" (identifier "pcVar10") (= "=") (cast_expression "(char *)((int)piVar7 + iVar4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar7 + iVar4)" (( "(") (binary_expression "(int)piVar7 + iVar4" (cast_expression "(int)piVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar7")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (if_statement "if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }" (if "if") (parenthesized_expression "(*pcVar10 != '\0')" (( "(") (binary_expression "*pcVar10 != '\0'" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pcVar10 = pcVar10 + 1;\n  }" ({ "{") (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" (identifier "pcVar10") (= "=") (binary_expression "pcVar10 + 1" (identifier "pcVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818c8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818c8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818c8)" (* "*") (cast_expression "(code **)(puVar11 + 0x818c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818c8)" (( "(") (binary_expression "puVar11 + 0x818c8" (identifier "puVar11") (+ "+") (number_literal "0x818c8")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + 0x1834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "0x1834")) () ")")))) (; ";")) (expression_statement "pcVar10 = pcVar10 + iVar4;" (assignment_expression "pcVar10 = pcVar10 + iVar4" (identifier "pcVar10") (= "=") (binary_expression "pcVar10 + iVar4" (identifier "pcVar10") (+ "+") (identifier "iVar4"))) (; ";")) (if_statement "if (*pcVar10 != '\0') {\n    pcVar10 = pcVar10 + 1;\n  }" (if "if") (parenthesized_expression "(*pcVar10 != '\0')" (( "(") (binary_expression "*pcVar10 != '\0'" (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pcVar10 = pcVar10 + 1;\n  }" ({ "{") (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" (identifier "pcVar10") (= "=") (binary_expression "pcVar10 + 1" (identifier "pcVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar1 + 0x50) = 0;" (assignment_expression "*(undefined4 *)(iVar1 + 0x50) = 0" (pointer_expression "*(undefined4 *)(iVar1 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9c)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9c") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);\n  }" ({ "{") (labeled_statement "LAB_00037610:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;" (statement_identifier "LAB_00037610") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x50) | 1" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "1"))) (; ";"))) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7800" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7800")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9c)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9c") () ")")))) (; ";")) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);\n      if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }\n      goto LAB_00037610;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7854" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7854")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);\n        if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x784c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x784c")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);\n          if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }\n        }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7844" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7844")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);\n            if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x783c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x783c")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);\n              if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }\n            }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7834" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7834")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n                if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }\n              }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x782c")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);\n                  if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;\n                }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7820" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7820")) () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     ) goto LAB_0003763c;" (if "if") (parenthesized_expression "((iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)\n                     )" (( "(") (binary_expression "(iVar4 != 0) &&\n                     (iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))\n                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7810" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7810")) () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0003763c;" (goto "goto") (statement_identifier "LAB_0003763c") (; ";"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (goto_statement "goto LAB_00037610;" (goto "goto") (statement_identifier "LAB_00037610") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0003763c:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" (statement_identifier "LAB_0003763c") (: ":") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9d)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9d") () ")")))) (; ";"))) (if_statement "if (iVar4 == 0) {\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);\n  }" ({ "{") (labeled_statement "LAB_000376bc:\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;" (statement_identifier "LAB_000376bc") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x50) | 4" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "4"))) (; ";"))) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x77d0" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x77d0")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9d)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9d") () ")")))) (; ";")) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);\n      if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x782c")) () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)) goto LAB_000376bc;" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) ||\n         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),\n         iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7820" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7820")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000376bc;" (goto "goto") (statement_identifier "LAB_000376bc") (; ";"))) (} "}"))) (} "}")))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9e)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9e") () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0))))" (( "(") (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)))" (( "(") (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0))" (( "(") (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9e)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9e") () ")")))) (, ",") (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),\n      iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (parenthesized_expression "(**(code **)(puVar11 + 0x818e4))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x818e4)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x818e4)" (* "*") (cast_expression "(code **)(puVar11 + 0x818e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x818e4)" (( "(") (binary_expression "puVar11 + 0x818e4" (identifier "puVar11") (+ "+") (number_literal "0x818e4")) () ")"))))) () ")")) (argument_list "(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x782c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x782c")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);\n  }" ({ "{") (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x50) | 8" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "8"))) (; ";")) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7798" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7798")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9f)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9f") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);\n  }" ({ "{") (labeled_statement "LAB_000377f8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" (statement_identifier "LAB_000377f8") (: ":") (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";"))) (labeled_statement "LAB_000377fc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 2;" (statement_identifier "LAB_000377fc") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 2;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 2" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "uVar5 | 2" (identifier "uVar5") (| "|") (number_literal "2"))) (; ";"))) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7724" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7724")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0x9f)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x9f") () ")")))) (; ";")) (if_statement "if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }" (if "if") (parenthesized_expression "((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7758" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7758")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);\n      if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);\n      if (iVar4 == 0) goto LAB_00037824;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000377fc;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x774c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x774c")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))) goto LAB_000377f8;" (if "if") (parenthesized_expression "((iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0))))" (( "(") (binary_expression "(iVar4 != 0) ||\n         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)))" (( "(") (parenthesized_expression "((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0))" (( "(") (binary_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0))" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),\n           iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7744" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7744")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0 ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),\n           iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x773c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x773c")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")")))) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7734" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7734")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000377f8;" (goto "goto") (statement_identifier "LAB_000377f8") (; ";"))) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x772c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x772c")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00037824;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00037824;" (goto "goto") (statement_identifier "LAB_00037824") (; ";"))) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_000377fc;" (goto "goto") (statement_identifier "LAB_000377fc") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00037824:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" (statement_identifier "LAB_00037824") (: ":") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa0)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa0") () ")")))) (; ";"))) (if_statement "if (iVar4 == 0) {\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);\n  }" ({ "{") (labeled_statement "LAB_000378a8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" (statement_identifier "LAB_000378a8") (: ":") (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";"))) (labeled_statement "LAB_000378ac:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;" (statement_identifier "LAB_000378ac") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x20;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x20" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "uVar5 | 0x20" (identifier "uVar5") (| "|") (number_literal "0x20"))) (; ";"))) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76e4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x76e4")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);\n    if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa0)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa0") () ")")))) (; ";")) (if_statement "if ((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }" (if "if") (parenthesized_expression "((iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 2) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7758" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7758")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);\n      if (iVar4 != 0) goto LAB_000378a8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);\n      if (iVar4 == 0) goto LAB_000378d4;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_000378ac;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76f4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x76f4")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) goto LAB_000378a8;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000378a8;" (goto "goto") (statement_identifier "LAB_000378a8") (; ";"))) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76ec" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x76ec")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_000378d4;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000378d4;" (goto "goto") (statement_identifier "LAB_000378d4") (; ";"))) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_000378ac;" (goto "goto") (statement_identifier "LAB_000378ac") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000378d4:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" (statement_identifier "LAB_000378d4") (: ":") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa1)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa1") () ")")))) (; ";"))) (if_statement "if (iVar4 == 0) {\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);\n  }" ({ "{") (labeled_statement "LAB_00037934:\n    uVar5 = *(uint *)(iVar1 + 0x50);" (statement_identifier "LAB_00037934") (: ":") (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";"))) (labeled_statement "LAB_00037938:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;" (statement_identifier "LAB_00037938") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x10;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x10" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "uVar5 | 0x10" (identifier "uVar5") (| "|") (number_literal "0x10"))) (; ";"))) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x765c" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x765c")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa1)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa1") () ")")))) (; ";")) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);\n      if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);\n      if (iVar4 == 0) goto LAB_00037960;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037938;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x76ac" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x76ac")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)) goto LAB_00037934;" (if "if") (parenthesized_expression "(((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0))" (( "(") (binary_expression "((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)) ||\n         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)" (parenthesized_expression "((iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0))" (( "(") (binary_expression "(iVar4 != 0) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7698" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7698")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),\n         iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7684" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7684")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00037934;" (goto "goto") (statement_identifier "LAB_00037934") (; ";"))) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7670" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7670")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00037960;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00037960;" (goto "goto") (statement_identifier "LAB_00037960") (; ";"))) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_00037938;" (goto "goto") (statement_identifier "LAB_00037938") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00037960:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);" (statement_identifier "LAB_00037960") (: ":") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa2)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa2") () ")")))) (; ";"))) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0))))" (( "(") (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)))" (( "(") (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0))" (( "(") (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa2)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa2") () ")")))) (, ",") (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),\n      iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7628" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7628")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);\n  }" ({ "{") (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x50) | 0x80" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7614" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7614")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa3)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa3") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);\n  }" ({ "{") (labeled_statement "LAB_00037a4c:\n    uVar5 = *(uint *)(iVar1 + 0x50);" (statement_identifier "LAB_00037a4c") (: ":") (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";"))) (labeled_statement "LAB_00037a50:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;" (statement_identifier "LAB_00037a50") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x40;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x40" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "uVar5 | 0x40" (identifier "uVar5") (| "|") (number_literal "0x40"))) (; ";"))) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7578" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7578")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa3)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa3") () ")")))) (; ";")) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);\n      if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);\n      if (iVar4 == 0) goto LAB_00037a78;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037a50;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75d4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x75d4")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if ((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))) goto LAB_00037a4c;" (if "if") (parenthesized_expression "((((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0))))" (( "(") (binary_expression "(((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)) ||\n         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))" (parenthesized_expression "(((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0))" (( "(") (binary_expression "((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)) ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)" (parenthesized_expression "((iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0))" (( "(") (binary_expression "(iVar4 != 0) ||\n           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),\n           iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75c8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x75c8")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75b4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x75b4")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)))" (( "(") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0))" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),\n          iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x75a0" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x75a0")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0 ||\n          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),\n          iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7594" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7594")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00037a4c;" (goto "goto") (statement_identifier "LAB_00037a4c") (; ";"))) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7584" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7584")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00037a78;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00037a78;" (goto "goto") (statement_identifier "LAB_00037a78") (; ";"))) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_00037a50;" (goto "goto") (statement_identifier "LAB_00037a50") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00037a78:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" (statement_identifier "LAB_00037a78") (: ":") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa4)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa4") () ")")))) (; ";"))) (if_statement "if (iVar4 == 0) {\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }\n  else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);\nLAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);\n  }" ({ "{") (labeled_statement "LAB_00037ad8:\n    uVar5 = *(uint *)(iVar1 + 0x50);" (statement_identifier "LAB_00037ad8") (: ":") (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";"))) (labeled_statement "LAB_00037adc:\n    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;" (statement_identifier "LAB_00037adc") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x100;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x100" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "uVar5 | 0x100" (identifier "uVar5") (| "|") (number_literal "0x100"))) (; ";"))) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7514" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7514")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);\n    if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa4)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa4") () ")")))) (; ";")) (if_statement "if (iVar4 == 2) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);\n      if (iVar4 != 0) goto LAB_00037ad8;\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);\n      if (iVar4 == 0) goto LAB_00037b04;\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037adc;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7548" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7548")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) goto LAB_00037ad8;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00037ad8;" (goto "goto") (statement_identifier "LAB_00037ad8") (; ";"))) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -30000" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-30000")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_00037b04;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00037b04;" (goto "goto") (statement_identifier "LAB_00037b04") (; ";"))) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_00037adc;" (goto "goto") (statement_identifier "LAB_00037adc") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00037b04:\n  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);" (statement_identifier "LAB_00037b04") (: ":") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa5)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa5") () ")")))) (; ";"))) (expression_statement "iVar8 = *(int *)(puVar11 + 0x80f04);" (assignment_expression "iVar8 = *(int *)(puVar11 + 0x80f04)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);\n  }" ({ "{") (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x50) | 0x200" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "0x200"))) (; ";")) (expression_statement "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);" (call_expression "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "iVar8 + -0x74d8" (identifier "iVar8") (+ "+") (number_literal "-0x74d8")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa6)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa6") () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0))))" (( "(") (binary_expression "(iVar4 == 0) ||\n     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)))" (( "(") (parenthesized_expression "(iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0))" (( "(") (comma_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa6)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa6") () ")")))) (, ",") (binary_expression "iVar4 == 2 &&\n      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),\n      iVar4 != 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x74a8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x74a8")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;\n    (**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);\n  }" ({ "{") (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x50) | 0x1000" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "0x1000"))) (; ";")) (expression_statement "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);" (call_expression "(**(code **)(puVar11 + 0x80ea0))\n              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7494" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7494")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa7)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa7") () ")")))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar11 + 0x80f04);" (assignment_expression "iVar8 = *(int *)(puVar11 + 0x80f04)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) {\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;\n    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);\n  }" ({ "{") (expression_statement "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;" (assignment_expression "*(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar1 + 0x50) | 0x400" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (| "|") (number_literal "0x400"))) (; ";")) (expression_statement "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);" (call_expression "(**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "iVar8 + -0x7460" (identifier "iVar8") (+ "+") (number_literal "-0x7460")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa8)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa8") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);\n    if (iVar4 != 2) {\n      return iVar4;\n    }\n    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);\n    if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }\n  }" ({ "{") (expression_statement "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);" (assignment_expression "iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" (identifier "iVar4") (= "=") (call_expression "conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8)" (identifier "conf_get_int") (argument_list "(*(undefined4 *)(iVar1 + 0x248),0xa8)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x248)" (( "(") (binary_expression "iVar1 + 0x248" (identifier "iVar1") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0xa8") () ")")))) (; ";")) (if_statement "if (iVar4 != 2) {\n      return iVar4;\n    }" (if "if") (parenthesized_expression "(iVar4 != 2)" (( "(") (binary_expression "iVar4 != 2" (identifier "iVar4") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      return iVar4;\n    }" ({ "{") (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7434" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7434")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)) {\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }" (if "if") (parenthesized_expression "(((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0))" (( "(") (binary_expression "((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)) &&\n       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)" (parenthesized_expression "((iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) &&\n        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),\n        iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7424" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7424")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),\n       iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x7410" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x7410")) (, ",") (identifier "pcVar10") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);\n      if (iVar4 == 0) {\n        return 0;\n      }\n      uVar5 = *(uint *)(iVar1 + 0x50);\n      goto LAB_00037c34;\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);" (assignment_expression "iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" (parenthesized_expression "(**(code **)(puVar11 + 0x811e8))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x811e8)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x811e8)" (* "*") (cast_expression "(code **)(puVar11 + 0x811e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x811e8)" (( "(") (binary_expression "puVar11 + 0x811e8" (identifier "puVar11") (+ "+") (number_literal "0x811e8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10)" (( "(") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x73f8" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x73f8")) (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_00037c34;" (goto "goto") (statement_identifier "LAB_00037c34") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar5 = *(uint *)(iVar1 + 0x50);" (assignment_expression "uVar5 = *(uint *)(iVar1 + 0x50)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (labeled_statement "LAB_00037c34:\n  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;" (statement_identifier "LAB_00037c34") (: ":") (expression_statement "*(uint *)(iVar1 + 0x50) = uVar5 | 0x800;" (assignment_expression "*(uint *)(iVar1 + 0x50) = uVar5 | 0x800" (pointer_expression "*(uint *)(iVar1 + 0x50)" (* "*") (cast_expression "(uint *)(iVar1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x50)" (( "(") (binary_expression "iVar1 + 0x50" (identifier "iVar1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (binary_expression "uVar5 | 0x800" (identifier "uVar5") (| "|") (number_literal "0x800"))) (; ";"))) (expression_statement "iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);" (assignment_expression "iVar1 = (**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar11 + 0x80ea0))\n                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" (parenthesized_expression "(**(code **)(puVar11 + 0x80ea0))" (( "(") (pointer_expression "**(code **)(puVar11 + 0x80ea0)" (* "*") (pointer_expression "*(code **)(puVar11 + 0x80ea0)" (* "*") (cast_expression "(code **)(puVar11 + 0x80ea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x80ea0)" (( "(") (binary_expression "puVar11 + 0x80ea0" (identifier "puVar11") (+ "+") (number_literal "0x80ea0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4)" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x110)" (( "(") (binary_expression "iVar1 + 0x110" (identifier "iVar1") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar11 + 0x80f04) + -0x73e4" (pointer_expression "*(int *)(puVar11 + 0x80f04)" (* "*") (cast_expression "(int *)(puVar11 + 0x80f04)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x80f04)" (( "(") (binary_expression "puVar11 + 0x80f04" (identifier "puVar11") (+ "+") (number_literal "0x80f04")) () ")")))) (+ "+") (number_literal "-0x73e4")) () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) 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: (pointer_declarator declarator: (identifier))))) body: (compound_statement (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) condition: (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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (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))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) 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))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (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: (subscript_expression argument: (parenthesized_expression (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)))))) index: (number_literal)) right: (number_literal)) (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)) (pointer_expression argument: (identifier)) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) (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: (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))))) (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))))) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (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))))) (number_literal) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (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)))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))))))))))))))) (goto_statement label: (statement_identifier))))))) (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))))) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (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 (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))))) (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: (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))))) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (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))))))) (goto_statement label: (statement_identifier))))))) (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))))) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (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))))))) (goto_statement label: (statement_identifier))))))) (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))))) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (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))))))) (goto_statement label: (statement_identifier))))))) (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))))) (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: (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))))) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (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))))))) (goto_statement label: (statement_identifier))))))) (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))))) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (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))))))) (goto_statement label: (statement_identifier))))))) (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))))) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (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))))) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (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: (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))))) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (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))))) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (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))))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (return_statement (identifier)))))

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

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  int iVar4;
  uint uVar5;
  uint uVar6;
  int *piVar7;
  int iVar8;
  undefined4 *puVar9;
  char *pcVar10;
  undefined *puVar11;
  int *local_54;
  int local_50;
  int local_4c;
  int local_48;
  undefined4 local_44;
  int local_1c;
  
  local_1c = *(int *)PTR___stack_chk_guard_000b8ce8;
  iVar1 = *(int *)(param_1 + 0x1b0);
  piVar7 = param_2;
  if (iVar1 == 0x55c) {
LAB_00036e68:
    do {
      if (*param_3 == 0) {
        *(undefined4 *)(param_1 + 0x1b0) = 0x55c;
        iVar1 = 0;
        goto LAB_00036e14;
      }
      *(uint *)(param_1 + 0x1d8) = *(int *)(param_1 + 0x1d8) * 0x100 + (uint)*(byte *)*param_2;
      *param_2 = *param_2 + 1;
      *param_3 = *param_3 + -1;
      iVar1 = *(int *)(param_1 + 500) + 1;
      *(int *)(param_1 + 500) = iVar1;
    } while (iVar1 < 4);
    uVar6 = *(uint *)(param_1 + 0x1d8);
    uVar5 = uVar6 & 0x80000007;
    if ((int)uVar5 < 0) {
      uVar5 = (uVar5 - 1 | 0xfffffff8) + 1;
    }
    *(uint *)(param_1 + 0x1dc) = 8 - uVar5;
    *(uint *)(param_1 + 0x1e0) = uVar6 + (8 - uVar5);
    **(int **)(param_1 + 0x1fc) = uVar6 - 5;
    piVar7 = (int *)0x1;
    if (*(int *)(param_1 + 0x1e0) < 0) {
      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x791c);
      FUN_0003533c(param_1);
      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
      *(undefined4 *)(param_1 + 0x1b0) = 0;
      iVar1 = 0;
    }
    else {
      *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = *(int *)(param_1 + 0x1e0);
      iVar1 = *(int *)(param_1 + 0x1fc);
      uVar2 = safemalloc();
      *(undefined4 *)(iVar1 + 0x10) = uVar2;
      *(undefined4 *)(param_1 + 0x1e4) = *(undefined4 *)(param_1 + 0x1e0);
      *(undefined4 *)(param_1 + 0x1f0) = *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10);
      while (0 < *(int *)(param_1 + 0x1e4)) {
        *(int *)(param_1 + 0x1f8) = *(int *)(param_1 + 0x1e4);
LAB_00036fb8:
        iVar1 = *param_3;
        if (iVar1 == 0) {
          *(undefined4 *)(param_1 + 0x1b0) = 0x574;
          iVar1 = 0;
          goto LAB_00036e14;
        }
        if (iVar1 < *(int *)(param_1 + 0x1f8)) {
          *(int *)(param_1 + 0x1f8) = iVar1;
        }
        piVar7 = (int *)*param_2;
        (*(code *)PTR_memcpy_000b8cec)
                  (*(undefined4 *)(param_1 + 0x1f0),piVar7,*(undefined4 *)(param_1 + 0x1f8));
        *param_2 = *param_2 + *(int *)(param_1 + 0x1f8);
        *param_3 = *param_3 - *(int *)(param_1 + 0x1f8);
        *(int *)(param_1 + 0x1f0) = *(int *)(param_1 + 0x1f0) + *(int *)(param_1 + 0x1f8);
        *(int *)(param_1 + 0x1e4) = *(int *)(param_1 + 0x1e4) - *(int *)(param_1 + 0x1f8);
      }
      if (*(int *)(param_1 + 0x54) != 0) {
        iVar1 = (*(code *)PTR_detect_attack_000b8624)
                          (*(undefined4 *)(param_1 + 0x5c),
                           *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),
                           *(undefined4 *)(param_1 + 0x1e0),0);
        if (iVar1 != 0) {
          piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78d0);
          FUN_0003533c(param_1);
          FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
          *(undefined4 *)(param_1 + 0x1b0) = 0;
          iVar1 = 0;
          goto LAB_00036e14;
        }
        if (*(int *)(param_1 + 0x54) != 0) {
          (**(code **)(*(int *)(param_1 + 0x54) + 0x10))
                    (*(undefined4 *)(param_1 + 0x58),
                     *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),
                     *(undefined4 *)(param_1 + 0x1e0));
        }
      }
      uVar5 = (*(code *)PTR_crc32_compute_000b85b4)
                        (*(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x10),
                         *(int *)(param_1 + 0x1e0) + -4);
      *(uint *)(param_1 + 0x1e8) = uVar5;
      iVar4 = *(int *)(param_1 + 0x1fc);
      iVar1 = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1e0);
      param_2 = (int *)(uint)*(byte *)(iVar1 + -1);
      uVar6 = (uint)*(byte *)(iVar1 + -4) << 0x18 | (uint)*(byte *)(iVar1 + -3) << 0x10 |
              (uint)param_2 | (uint)*(byte *)(iVar1 + -2) << 8;
      *(uint *)(param_1 + 0x1ec) = uVar6;
      if (uVar5 == uVar6) {
        *(int *)(iVar4 + 0x14) = *(int *)(iVar4 + 0x10) + *(int *)(param_1 + 0x1dc) + 1;
        if (*(int *)(param_1 + 0x3c) != 0) {
          iVar1 = (*(code *)PTR_zlib_decompress_block_000b8628)
                            (*(undefined4 *)(param_1 + 0x94),(*(int **)(param_1 + 0x1fc))[5] + -1,
                             **(int **)(param_1 + 0x1fc) + 1,&local_54,&local_50);
          if (iVar1 == 0) {
            piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x7880);
            FUN_0003533c(param_1);
            FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
            *(undefined4 *)(param_1 + 0x1b0) = 0;
            iVar1 = 0;
            goto LAB_00036e14;
          }
          iVar1 = *(int *)(param_1 + 0x1dc) + local_50;
          if (*(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) < iVar1) {
            *(int *)(*(int *)(param_1 + 0x1fc) + 0x1c) = iVar1;
            iVar1 = *(int *)(param_1 + 0x1fc);
            uVar2 = saferealloc(*(undefined4 *)(iVar1 + 0x10),*(undefined4 *)(iVar1 + 0x1c),1);
            *(undefined4 *)(iVar1 + 0x10) = uVar2;
            *(int *)(*(int *)(param_1 + 0x1fc) + 0x14) =
                 *(int *)(*(int *)(param_1 + 0x1fc) + 0x10) + *(int *)(param_1 + 0x1dc) + 1;
          }
          param_2 = local_54;
          (*(code *)PTR_memcpy_000b8cec)
                    (*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1,local_54,local_50);
          safefree(local_54);
          **(int **)(param_1 + 0x1fc) = local_50 + -1;
        }
        *(uint *)(*(int *)(param_1 + 0x1fc) + 8) =
             (uint)*(byte *)(*(int *)(*(int *)(param_1 + 0x1fc) + 0x14) + -1);
        if (*(int *)(param_1 + 0x18) != 0) {
          puVar9 = *(undefined4 **)(param_1 + 0x1fc);
          puVar9[6] = 0;
          iVar1 = *(int *)(param_1 + 0x24c);
          if (iVar1 == 0) {
LAB_000373c0:
            uVar2 = puVar9[2];
          }
          else {
            if (puVar9[2] - 0x11 < 2) {
LAB_00037378:
              local_4c = puVar9[6] + 4;
              local_44 = 2;
              FUN_000325fc(puVar9,&local_54,&local_50);
              if (local_54 == (int *)0x0) {
                iVar1 = 0;
              }
              else {
                local_48 = local_50;
                iVar1 = 1;
              }
              goto LAB_000373c0;
            }
            iVar1 = 0;
            if (puVar9[2] == 0x17) {
              FUN_000309ec(puVar9);
              goto LAB_00037378;
            }
            uVar2 = puVar9[2];
          }
          uVar3 = FUN_0002fff0(uVar2);
          param_2 = (int *)0x0;
          log_packet(*(undefined4 *)(param_1 + 0x18),0,uVar2,uVar3,puVar9[5],*puVar9,iVar1,&local_4c
                     ,0,0,0);
        }
        *(undefined4 *)(*(int *)(param_1 + 0x1fc) + 0x18) = 0;
        goto LAB_00036e0c;
      }
      piVar7 = (int *)dupprintf(PTR_DAT_000b8348 + -0x78a4);
      FUN_0003533c(param_1);
      FUN_00030d54(*(undefined4 *)(param_1 + 0x1fc));
      *(undefined4 *)(param_1 + 0x1b0) = 0;
      iVar1 = 0;
    }
  }
  else {
    if (iVar1 == 0x574) goto LAB_00036fb8;
    if (iVar1 == 0) {
      iVar1 = FUN_00031244();
      *(int *)(param_1 + 0x1fc) = iVar1;
      *(undefined4 *)(iVar1 + 8) = 0;
      **(undefined4 **)(param_1 + 0x1fc) = 0;
      *(undefined4 *)(param_1 + 0x1d8) = 0;
      *(undefined4 *)(param_1 + 500) = 0;
      goto LAB_00036e68;
    }
LAB_00036e0c:
    *(undefined4 *)(param_1 + 0x1b0) = 0;
    iVar1 = *(int *)(param_1 + 0x1fc);
    piVar7 = param_2;
  }
LAB_00036e14:
  if (local_1c == *(int *)PTR___stack_chk_guard_000b8ce8) {
    return iVar1;
  }
  iVar1 = local_1c;
  puVar11 = PTR___stack_chk_fail_000b8cbc;
  (*(code *)PTR___stack_chk_fail_000b8cbc)();
  iVar4 = (**(code **)(puVar11 + 0x818c8))(piVar7,*(int *)(puVar11 + 0x80f04) + 0x1834);
  pcVar10 = (char *)((int)piVar7 + iVar4);
  if (*pcVar10 != '\0') {
    pcVar10 = pcVar10 + 1;
  }
  iVar4 = (**(code **)(puVar11 + 0x818c8))(pcVar10,*(int *)(puVar11 + 0x80f04) + 0x1834);
  pcVar10 = pcVar10 + iVar4;
  if (*pcVar10 != '\0') {
    pcVar10 = pcVar10 + 1;
  }
  *(undefined4 *)(iVar1 + 0x50) = 0;
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);
  if (iVar4 == 0) {
LAB_00037610:
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 1;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7800);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9c);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7854);
      if (iVar4 != 0) {
        iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x784c);
        if (iVar4 != 0) {
          iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7844);
          if (iVar4 != 0) {
            iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x783c);
            if (iVar4 != 0) {
              iVar4 = (**(code **)(puVar11 + 0x818e4))
                                (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7834);
              if (iVar4 != 0) {
                iVar4 = (**(code **)(puVar11 + 0x818e4))
                                  (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);
                if (iVar4 != 0) {
                  iVar4 = (**(code **)(puVar11 + 0x818e4))
                                    (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820);
                  if ((iVar4 != 0) &&
                     (iVar4 = (**(code **)(puVar11 + 0x818e4))
                                        (pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7810), iVar4 != 0)
                     ) goto LAB_0003763c;
                }
              }
            }
          }
        }
      }
      goto LAB_00037610;
    }
  }
LAB_0003763c:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);
  if (iVar4 == 0) {
LAB_000376bc:
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 4;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x77d0);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9d);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c);
      if ((iVar4 == 0) ||
         (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x7820),
         iVar4 == 0)) goto LAB_000376bc;
    }
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e);
  if ((iVar4 == 0) ||
     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9e), iVar4 == 2 &&
      (iVar4 = (**(code **)(puVar11 + 0x818e4))(pcVar10,*(int *)(puVar11 + 0x80f04) + -0x782c),
      iVar4 == 0)))) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 8;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7798);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);
  if (iVar4 == 0) {
LAB_000377f8:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_000377fc:
    *(uint *)(iVar1 + 0x50) = uVar5 | 2;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7724);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0x9f);
    if ((iVar4 == 2) &&
       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),
       iVar4 == 0)) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x774c,pcVar10);
      if ((iVar4 != 0) ||
         (((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7744,pcVar10),
           iVar4 != 0 ||
           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x773c,pcVar10),
           iVar4 != 0)) ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7734,pcVar10),
          iVar4 != 0)))) goto LAB_000377f8;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x772c,pcVar10);
      if (iVar4 == 0) goto LAB_00037824;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_000377fc;
    }
  }
LAB_00037824:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);
  if (iVar4 == 0) {
LAB_000378a8:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_000378ac:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x20;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x76e4);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa0);
    if ((iVar4 == 2) &&
       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7758,pcVar10),
       iVar4 == 0)) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76f4,pcVar10);
      if (iVar4 != 0) goto LAB_000378a8;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ec,pcVar10);
      if (iVar4 == 0) goto LAB_000378d4;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_000378ac;
    }
  }
LAB_000378d4:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);
  if (iVar4 == 0) {
LAB_00037934:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037938:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x10;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x765c);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa1);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x76ac,pcVar10);
      if (((iVar4 != 0) ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7698,pcVar10),
          iVar4 != 0)) ||
         (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7684,pcVar10),
         iVar4 != 0)) goto LAB_00037934;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7670,pcVar10);
      if (iVar4 == 0) goto LAB_00037960;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037938;
    }
  }
LAB_00037960:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2);
  if ((iVar4 == 0) ||
     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa2), iVar4 == 2 &&
      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7628,pcVar10),
      iVar4 != 0)))) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x80;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7614);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);
  if (iVar4 == 0) {
LAB_00037a4c:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037a50:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x40;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7578);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa3);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75d4,pcVar10);
      if ((((iVar4 != 0) ||
           (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75c8,pcVar10),
           iVar4 != 0)) ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75b4,pcVar10),
          iVar4 != 0)) ||
         ((iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x75a0,pcVar10),
          iVar4 != 0 ||
          (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7594,pcVar10),
          iVar4 != 0)))) goto LAB_00037a4c;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7584,pcVar10);
      if (iVar4 == 0) goto LAB_00037a78;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037a50;
    }
  }
LAB_00037a78:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);
  if (iVar4 == 0) {
LAB_00037ad8:
    uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037adc:
    *(uint *)(iVar1 + 0x50) = uVar5 | 0x100;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7514);
  }
  else {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa4);
    if (iVar4 == 2) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7548,pcVar10);
      if (iVar4 != 0) goto LAB_00037ad8;
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -30000,pcVar10);
      if (iVar4 == 0) goto LAB_00037b04;
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037adc;
    }
  }
LAB_00037b04:
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa5);
  iVar8 = *(int *)(puVar11 + 0x80f04);
  if (iVar4 == 0) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x200;
    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x74d8);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6);
  if ((iVar4 == 0) ||
     ((iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa6), iVar4 == 2 &&
      (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x74a8,pcVar10),
      iVar4 != 0)))) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x1000;
    (**(code **)(puVar11 + 0x80ea0))
              (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x7494);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa7);
  iVar8 = *(int *)(puVar11 + 0x80f04);
  if (iVar4 == 0) {
    *(uint *)(iVar1 + 0x50) = *(uint *)(iVar1 + 0x50) | 0x400;
    (**(code **)(puVar11 + 0x80ea0))(*(undefined4 *)(iVar1 + 0x110),iVar8 + -0x7460);
  }
  iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);
  if (iVar4 != 0) {
    iVar4 = conf_get_int(*(undefined4 *)(iVar1 + 0x248),0xa8);
    if (iVar4 != 2) {
      return iVar4;
    }
    iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7434,pcVar10);
    if (((iVar4 == 0) &&
        (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7424,pcVar10),
        iVar4 == 0)) &&
       (iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x7410,pcVar10),
       iVar4 == 0)) {
      iVar4 = (**(code **)(puVar11 + 0x811e8))(*(int *)(puVar11 + 0x80f04) + -0x73f8,pcVar10);
      if (iVar4 == 0) {
        return 0;
      }
      uVar5 = *(uint *)(iVar1 + 0x50);
      goto LAB_00037c34;
    }
  }
  uVar5 = *(uint *)(iVar1 + 0x50);
LAB_00037c34:
  *(uint *)(iVar1 + 0x50) = uVar5 | 0x800;
  iVar1 = (**(code **)(puVar11 + 0x80ea0))
                    (*(undefined4 *)(iVar1 + 0x110),*(int *)(puVar11 + 0x80f04) + -0x73e4);
  return iVar1;
}

