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

void send_packet(Ssh_conflict ssh,int pkttype,...)

{
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  Packet *pPVar5;
  int *piVar6;
  undefined4 *puVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  undefined4 uVar14;
  int iVar15;
  int iVar16;
  int *piVar17;
  int *piVar18;
  int *piVar19;
  cmpfn234 p_Var20;
  ulong uVar21;
  ulong uVar22;
  ssh_channel *psVar23;
  bufchain_granule *pbVar24;
  Ssh_conflict psVar25;
  tree234 *ptVar26;
  Ssh_conflict ssh_00;
  Packet *pkt;
  va_list in_a2;
  node234_conflict *pnVar27;
  node234_conflict *pnVar28;
  undefined4 in_a3;
  node234_conflict *pnVar29;
  node234_conflict *pnVar30;
  Packet *pPVar31;
  char *pcVar32;
  uint unaff_s2;
  uint uVar33;
  undefined *puVar34;
  code *pcVar35;
  code *pcVar36;
  va_list local_res8;
  undefined4 local_resc;
  int iStack_160;
  char *pcStack_15c;
  undefined1 auStack_158 [4];
  ulong uStack_154;
  Ssh_conflict psStack_14c;
  int iStack_13c;
  tree234 *ptStack_138;
  int *piStack_134;
  uint uStack_130;
  Ssh_conflict psStack_12c;
  undefined4 uStack_128;
  int *piStack_124;
  int iStack_120;
  code *pcStack_11c;
  code *pcStack_e8;
  Ssh_conflict psStack_dc;
  Packet *pPStack_d8;
  node234_conflict *pnStack_d4;
  uint uStack_d0;
  Ssh_conflict psStack_cc;
  undefined4 uStack_c8;
  code *pcStack_c4;
  int iStack_84;
  undefined1 uStack_61;
  node234_conflict *pnStack_60;
  int iStack_5c;
  undefined *puStack_58;
  Ssh_conflict psStack_54;
  va_list ap;
  
  puVar3 = PTR___stack_chk_guard_000b0c9c;
  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;
  local_res8 = in_a2;
  local_resc = in_a3;
  pPVar5 = construct_packet((Ssh_conflict)pkttype,(int)&local_res8,in_a2);
  psVar25 = ssh;
  s_wrpkt(ssh,pPVar5);
  if (iVar4 == *(int *)puVar3) {
    return;
  }
  puVar34 = PTR___stack_chk_fail_000b0c70;
  (*(code *)PTR___stack_chk_fail_000b0c70)();
  piVar6 = *(int **)(puVar34 + 0x68184);
  puStack_58 = puVar3;
  iStack_5c = *piVar6;
  ptVar26 = psVar25->portfwds;
  iVar4 = 0;
  psStack_54 = ssh;
  if (ptVar26 == (tree234 *)0x0) {
    ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58);
    psVar25->portfwds = ptVar26;
  }
  else {
    pcVar35 = *(code **)(puVar34 + 0x67790);
    while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {
      iVar4 = iVar4 + 1;
      ptVar26 = psVar25->portfwds;
      *puVar7 = 0;
      pcVar35 = *(code **)(puVar34 + 0x67790);
    }
  }
  pnVar27 = (node234_conflict *)0x0;
  iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60);
  if (iVar4 != 0) {
    iVar8 = *(int *)(puVar34 + 0x67670);
    iVar9 = *(int *)(puVar34 + 0x67670);
    iVar10 = *(int *)(puVar34 + 0x679ac);
    iVar11 = *(int *)(puVar34 + 0x67670);
    iVar12 = *(int *)(puVar34 + 0x67670);
    do {
      uVar33 = (uint)*(char *)&pnStack_60->parent;
      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {
        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);
        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);
        if (unaff_s2 != 0x4c) goto LAB_00048d5c;
LAB_00048e9c:
        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);
      }
      else {
        bVar1 = uVar33 == 0x4c;
        pnVar27 = pnStack_60;
        unaff_s2 = uVar33;
        uVar33 = 0x41;
        if (bVar1) goto LAB_00048e9c;
LAB_00048d5c:
        if (unaff_s2 == 0x52) goto LAB_00048e9c;
        unaff_s2 = 0x4c;
      }
      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);
      pnVar30 = pnVar27;
      if (iVar13 != 0) {
        pnVar30 = (node234_conflict *)(iVar13 + 1);
        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);
        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);
        (**(code **)(puVar34 + 0x67698))(uVar14);
      }
      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);
      if (iVar15 == 0) {
        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);
        if (iVar15 == 0) {
          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);
          bVar1 = true;
        }
        else {
          bVar1 = true;
        }
      }
      else {
        bVar1 = false;
      }
      if ((unaff_s2 == 0x4c) &&
         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),
         iVar16 == 0)) {
        if (iVar15 == 0) {
          iVar4 = 0;
LAB_00048e64:
          (**(code **)(puVar34 + 0x67698))(iVar13);
          (**(code **)(puVar34 + 0x67698))(iVar4);
        }
        else {
          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);
          piVar17[4] = iVar13;
          piVar17[1] = 0x44;
          iVar16 = -1;
          if (bVar1) {
            iVar4 = 0;
            pcVar32 = (char *)0x0;
            bVar2 = false;
LAB_00049780:
            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);
            piVar17[6] = iVar13;
            piVar17[2] = iVar15;
            piVar17[5] = iVar4;
            goto joined_r0x000497a8;
          }
          piVar17[6] = 0;
          iVar4 = 0;
          piVar17[2] = iVar15;
          piVar17[5] = 0;
LAB_00048c68:
          piVar17[7] = iVar4;
          piVar17[3] = iVar16;
          piVar17[10] = 0;
          piVar17[8] = 0;
          if (uVar33 != 0x34) goto LAB_00048c80;
LAB_00048f4c:
          pcVar35 = *(code **)(puVar34 + 0x6777c);
          ptVar26 = psVar25->portfwds;
          piVar17[9] = 1;
          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);
          if (piVar17 != piVar18) goto LAB_00048cac;
LAB_00048f6c:
          *piVar17 = 2;
        }
      }
      else {
        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);
        pcVar32 = (char *)(iVar4 + iVar16);
        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);
        if (*pcVar32 != '\0') {
          pcVar32 = pcVar32 + 1;
        }
        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);
        if (iVar16 == 0) {
          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);
          if (iVar16 == 0) {
            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);
            goto LAB_00048e64;
          }
          bVar2 = true;
        }
        else {
          bVar2 = false;
        }
        if (iVar15 == 0) goto LAB_00048e64;
        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);
        piVar17[1] = unaff_s2;
        piVar17[4] = iVar13;
        if (bVar1) goto LAB_00049780;
        piVar17[2] = iVar15;
        piVar17[5] = iVar4;
        piVar17[6] = 0;
joined_r0x000497a8:
        if (bVar2) {
          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);
          goto LAB_00048c68;
        }
        piVar17[3] = iVar16;
        piVar17[10] = 0;
        piVar17[7] = 0;
        piVar17[8] = 0;
        if (uVar33 == 0x34) goto LAB_00048f4c;
LAB_00048c80:
        iVar4 = 2;
        pcVar35 = *(code **)(puVar34 + 0x6777c);
        ptVar26 = psVar25->portfwds;
        if (uVar33 != 0x36) {
          iVar4 = 0;
        }
        piVar17[9] = iVar4;
        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);
        if (piVar17 == piVar18) goto LAB_00048f6c;
LAB_00048cac:
        pcVar35 = *(code **)(puVar34 + 0x67698);
        if (*piVar18 == 0) {
          *piVar18 = 1;
        }
        (*pcVar35)(piVar17[4]);
        (**(code **)(puVar34 + 0x67698))(piVar17[5]);
        (**(code **)(puVar34 + 0x67698))(piVar17[6]);
        (**(code **)(puVar34 + 0x67698))(piVar17[7]);
        (**(code **)(puVar34 + 0x67698))(piVar17);
      }
      pnVar27 = pnStack_60;
      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);
    } while (iVar4 != 0);
  }
  iVar8 = *(int *)(puVar34 + 0x67b2c);
  iVar4 = 0;
  iVar11 = *(int *)(puVar34 + 0x67670);
  iVar10 = *(int *)(puVar34 + 0x67670);
  iVar9 = *(int *)(puVar34 + 0x67b2c);
  do {
    piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);
    while( true ) {
      if (piVar17 == (int *)0x0) {
        iVar4 = *(int *)(puVar34 + 0x67670);
        pPVar31 = (Packet *)0x0;
        piVar17 = *(int **)(puVar34 + 0x679ac);
        pkt = (Packet *)0x0;
        ptVar26 = psVar25->portfwds;
        iVar8 = *(int *)(puVar34 + 0x67670);
        pcVar35 = (code *)(piVar17 + 0x18a2);
        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);
        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();
        uVar14 = 0;
        goto joined_r0x0004902c;
      }
      if (*piVar17 == 0) break;
      iVar4 = iVar4 + 1;
      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);
    }
    if (piVar17[1] == 0x4c) {
      iVar13 = piVar17[4];
      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;
      if (iVar13 == 0) goto LAB_0004942c;
LAB_00049258:
      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;
    }
    else {
      if (piVar17[1] == 0x52) {
        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;
      }
      else {
        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;
      }
      iVar13 = piVar17[4];
      if (iVar13 != 0) goto LAB_00049258;
LAB_0004942c:
      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;
      iVar15 = iVar13;
    }
    pnVar27 = (node234_conflict *)
              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15);
    pnVar30 = pnVar27;
    if (piVar17[1] != 0x44) {
      pnVar30 = (node234_conflict *)
                (**(code **)(puVar34 + 0x676cc))
                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);
      (**(code **)(puVar34 + 0x67698))(pnVar27);
    }
    pnVar27 = pnVar30;
    logeventf(psVar25,(char *)(iVar10 + 0x47bc));
    (**(code **)(puVar34 + 0x67698))(pnVar30);
    iVar12 = piVar17[8];
    if (iVar12 == 0) {
      if (piVar17[10] != 0) {
        (**(code **)(puVar34 + 0x6786c))();
      }
    }
    else {
      if (psVar25->version != 1) {
        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);
        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));
                    /* WARNING: Subroutine does not return */
        uStack_61 = 0;
        ssh_pkt_adddata(pPVar5,&uStack_61,1);
      }
      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);
      (*(code *)(iVar8 + -0x63f8))(iVar12);
    }
    (**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4);
    (**(code **)(puVar34 + 0x67698))(piVar17[4]);
    (**(code **)(puVar34 + 0x67698))(piVar17[5]);
    (**(code **)(puVar34 + 0x67698))(piVar17[6]);
    (**(code **)(puVar34 + 0x67698))(piVar17[7]);
    (**(code **)(puVar34 + 0x67698))(piVar17);
  } while( true );
joined_r0x0004902c:
  if (piVar18 == (int *)0x0) goto LAB_00049064;
  if (*piVar18 == 2) {
    pnVar27 = pnVar30;
    pnVar28 = pnVar30;
    if ((node234_conflict *)piVar18[4] != (node234_conflict *)0x0) {
      pnVar27 = (node234_conflict *)piVar18[4];
      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);
    }
    pnVar29 = pnVar30;
    if ((node234_conflict *)piVar18[6] != (node234_conflict *)0x0) {
      pnVar29 = (node234_conflict *)piVar18[6];
    }
    unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29);
    pnVar27 = pnVar30;
    if (piVar18[1] == 0x44) {
      uVar14 = 0;
LAB_0004945c:
      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);
      if (piVar18[9] == 1) {
        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);
      }
      else if (piVar18[9] == 2) {
        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);
      }
      if (iStack_84 == 0) {
        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);
      }
      else {
        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);
LAB_000495e0:
        (**(code **)(puVar34 + 0x67698))(iStack_84);
      }
    }
    else {
      pnVar28 = pnVar30;
      pnVar29 = pnVar30;
      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {
        pnVar28 = (node234_conflict *)piVar18[7];
        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);
      }
      uVar14 = (**(code **)(puVar34 + 0x676cc))
                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);
      if (piVar18[1] == 0x4c) {
        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);
        if (piVar18[9] == 1) {
          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);
          if (iStack_84 == 0) {
            iVar9 = *(int *)(puVar34 + 0x67670);
            goto LAB_00049828;
          }
        }
        else {
          if (piVar18[9] == 2) {
            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);
          }
          iVar9 = *(int *)(puVar34 + 0x67670);
          if (iStack_84 == 0) {
LAB_00049828:
            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);
            goto LAB_00049208;
          }
        }
        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);
        goto LAB_000495e0;
      }
      if (piVar18[1] == 0x44) goto LAB_0004945c;
      if (psVar25->rportfwds == (tree234 *)0x0) {
        if (psVar25->version == 1) {
          ptVar26 = (tree234 *)
                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);
          psVar25->rportfwds = ptVar26;
        }
        else {
          ptVar26 = (tree234 *)
                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);
          psVar25->rportfwds = ptVar26;
        }
      }
      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);
      iVar9 = piVar18[5];
      pcVar36 = *(code **)(puVar34 + 0x676d8);
      piVar17[5] = 0;
      iVar9 = (*pcVar36)(iVar9);
      iVar11 = piVar18[3];
      iVar10 = piVar18[4];
      piVar17[3] = iVar9;
      piVar17[1] = iVar11;
      if (iVar10 == 0) {
        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);
        if (iVar9 == 0) {
          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);
          piVar17[2] = iVar9;
        }
        else {
          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);
          piVar17[2] = iVar9;
        }
      }
      else {
        iVar9 = (**(code **)(puVar34 + 0x676d8))();
        piVar17[2] = iVar9;
      }
      pcVar36 = *(code **)(puVar34 + 0x6777c);
      ptVar26 = psVar25->rportfwds;
      *piVar17 = piVar18[2];
      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);
      if (piVar17 == piVar19) {
        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);
        iVar9 = psVar25->version;
        piVar17[4] = unaff_s2;
        piVar18[8] = (int)piVar17;
        piVar17[6] = (int)piVar18;
        if (iVar9 != 1) {
          pPVar5 = ssh2_pkt_init(0x50);
          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));
          uStack_61 = 1;
                    /* WARNING: Subroutine does not return */
          ssh_pkt_adddata(pPVar5,&uStack_61,1);
        }
        unaff_s2 = 0;
        send_packet(psVar25,0x1c,1,piVar18[2]);
        pnVar27 = (node234_conflict *)0xf;
        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),
                          piVar17);
      }
      else {
        pnVar27 = (node234_conflict *)piVar18[5];
        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);
        (**(code **)(puVar34 + 0x67698))(piVar17);
      }
    }
LAB_00049208:
    (**(code **)(puVar34 + 0x67698))(unaff_s2);
    (**(code **)(puVar34 + 0x67698))(uVar14);
  }
  pPVar31 = (Packet *)((int)&pPVar31->length + 1);
  ptVar26 = psVar25->portfwds;
  pkt = pPVar31;
  piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();
  goto joined_r0x0004902c;
LAB_00049064:
  if (iStack_5c == *piVar6) {
    return;
  }
  pcVar35 = *(code **)(puVar34 + 0x68158);
  pcVar36 = ssh_size;
  (*pcVar35)();
  pcStack_e8 = pcVar35 + 0x6e80c;
  p_Var20 = ptVar26[0x28].cmp;
  ptVar26[0x23].cmp = (cmpfn234)pkt;
  ptVar26[0x24].root = pnVar27;
  piVar6 = *(int **)(pcVar35 + 0x67358);
  ssh_00 = (Ssh_conflict)*piVar6;
  psStack_dc = ssh_00;
  pPStack_d8 = pPVar31;
  pnStack_d4 = pnVar30;
  uStack_d0 = unaff_s2;
  psStack_cc = psVar25;
  uStack_c8 = uVar14;
  pcStack_c4 = pcVar36;
  if (p_Var20 == (cmpfn234)0x2) {
    ptVar26[0x29].root = (node234_conflict *)0x1;
  }
  else if (p_Var20 == (cmpfn234)0x3) {
    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);
    return;
  }
  if (ssh_00 == (Ssh_conflict)*piVar6) {
    return;
  }
  pcVar35 = *(code **)(pcVar35 + 0x6732c);
  pcVar36 = ssh1_msg_port_open;
  (*pcVar35)();
  piVar18 = *(int **)(pcVar35 + 0x671a4);
  iStack_13c = *piVar18;
  pPVar5 = pkt;
  ptStack_138 = ptVar26;
  piStack_134 = piVar6;
  uStack_130 = unaff_s2;
  psStack_12c = psVar25;
  uStack_128 = uVar14;
  piStack_124 = piVar17;
  iStack_120 = iVar8;
  pcStack_11c = pcVar36;
  uVar21 = ssh_pkt_getuint32(pkt);
  ssh_pkt_getstring(pPVar5,&pcStack_15c,&iStack_160);
  uVar22 = ssh_pkt_getuint32(pkt);
  if (pcStack_15c == (char *)0x0) {
    pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54);
  }
  psStack_14c = (Ssh_conflict)
                (**(code **)(pcVar35 + 0x666ec))
                          (*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c);
  uStack_154 = uVar22;
  iVar4 = (**(code **)(pcVar35 + 0x667c0))(ssh_00->rportfwds,auStack_158,0);
  if (iVar4 == 0) {
    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22);
  }
  else {
    psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);
    psVar23->ssh = ssh_00;
    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);
    iVar4 = (**(code **)(pcVar35 + 0x66cac))
                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,
                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));
    if (iVar4 == 0) {
      ssh_channel_init(psVar23);
      psVar23->type = 3;
      psVar23->remoteid = uVar21;
      psVar23->halfopen = 0;
      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);
      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);
      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);
      goto LAB_00049cac;
    }
    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);
    (**(code **)(pcVar35 + 0x666b8))(iVar4);
    (**(code **)(pcVar35 + 0x666b8))(psVar23);
  }
  pPVar5 = (Packet *)&DAT_00000016;
  send_packet(ssh_00,0x16,1,uVar21,0);
LAB_00049cac:
  psVar25 = psStack_14c;
  (**(code **)(pcVar35 + 0x666b8))();
  if (iStack_13c == *piVar18) {
    return;
  }
  pcVar35 = *(code **)(pcVar35 + 0x67178);
  (*pcVar35)();
  uVar21 = ssh_pkt_getuint32(pPVar5);
  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x493c);
  if (psVar25->X11_fwd_enabled == 0) {
    send_packet(psVar25,0x16,1,uVar21,0);
                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c);
    return;
  }
  psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x66444))(1,0x5c);
  psVar23->ssh = psVar25;
  ssh_channel_init(psVar23);
  pbVar24 = (bufchain_granule *)
            (**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff);
  (psVar23->u).a.inbuffer.head = pbVar24;
  psVar23->remoteid = uVar21;
  psVar23->halfopen = 0;
  psVar23->type = 1;
  send_packet(psVar25,0x15,1,uVar21,1,psVar23->localid,0);
                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x4240);
  return;
}



void FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  bool bVar1;
  code *pcVar2;
  undefined *puVar3;
  int iVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  int ***pppiVar10;
  int ****ppppiVar11;
  int **ppiVar12;
  int ***pppiVar13;
  int ***pppiVar14;
  int ****ppppiVar15;
  int iVar16;
  int ****ppppiVar17;
  int iVar18;
  int iVar19;
  int ****ppppiVar20;
  char *pcVar21;
  int ****ppppiVar22;
  int ***unaff_s2;
  int ***pppiVar23;
  int iVar24;
  int *piVar25;
  undefined *puVar26;
  code *pcVar27;
  code *pcVar28;
  undefined4 local_res8;
  undefined4 local_resc;
  undefined4 uStack_160;
  int iStack_15c;
  undefined1 auStack_158 [4];
  undefined4 uStack_154;
  int iStack_14c;
  int iStack_13c;
  int iStack_138;
  int *piStack_134;
  int **ppiStack_130;
  int iStack_12c;
  int ***pppiStack_128;
  int ***pppiStack_124;
  int iStack_120;
  undefined4 uStack_11c;
  int iStack_108;
  undefined4 uStack_104;
  int iStack_100;
  undefined4 uStack_fc;
  int iStack_f8;
  undefined4 uStack_f4;
  undefined4 uStack_f0;
  code *pcStack_e8;
  int **ppiStack_e0;
  int iStack_dc;
  int **ppiStack_d8;
  int ***pppiStack_d4;
  int **ppiStack_d0;
  int iStack_cc;
  int ***pppiStack_c8;
  code *pcStack_c4;
  int ***pppiStack_b0;
  int ***pppiStack_ac;
  int ***pppiStack_a8;
  int *piStack_a4;
  undefined4 uStack_a0;
  undefined *puStack_98;
  undefined4 uStack_90;
  int ***pppiStack_8c;
  code *pcStack_88;
  int ***pppiStack_84;
  int iStack_80;
  int iStack_7c;
  code *pcStack_78;
  int *piStack_74;
  int iStack_70;
  int iStack_6c;
  undefined1 uStack_61;
  int ***pppiStack_60;
  int iStack_5c;
  undefined *puStack_58;
  int iStack_54;
  
  puVar3 = PTR___stack_chk_guard_000b0c9c;
  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;
  local_res8 = param_3;
  local_resc = param_4;
  uVar5 = FUN_0003bbb8(param_2,&local_res8);
  iVar24 = param_1;
  FUN_00048968();
  if (iVar4 == *(int *)puVar3) {
    return;
  }
  puVar26 = PTR___stack_chk_fail_000b0c70;
  (*(code *)PTR___stack_chk_fail_000b0c70)();
  puStack_98 = puVar26 + 0x6f638;
  piStack_74 = *(int **)(puVar26 + 0x68184);
  puStack_58 = puVar3;
  iStack_5c = *piStack_74;
  iVar4 = *(int *)(iVar24 + 0x140);
  iVar19 = 0;
  uStack_90 = uVar5;
  iStack_54 = param_1;
  if (iVar4 == 0) {
    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);
    *(undefined4 *)(iVar24 + 0x140) = uVar5;
  }
  else {
    pcVar27 = *(code **)(puVar26 + 0x67790);
    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {
      iVar19 = iVar19 + 1;
      iVar4 = *(int *)(iVar24 + 0x140);
      *puVar6 = 0;
      pcVar27 = *(code **)(puStack_98 + -0x7ea8);
    }
  }
  pppiStack_84 = (int ***)&pppiStack_60;
  ppppiVar15 = (int ****)0x0;
  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);
  if (iVar4 != 0) {
    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);
    iStack_70 = *(int *)(puStack_98 + -0x7fc8);
    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);
    iStack_6c = *(int *)(puStack_98 + -0x7fc8);
    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;
    do {
      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;
      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {
        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);
        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);
        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;
LAB_00048e9c:
        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);
      }
      else {
        bVar1 = pppiVar23 == (int ***)0x4c;
        ppppiVar15 = (int ****)pppiStack_60;
        unaff_s2 = pppiVar23;
        pppiVar23 = (int ***)0x41;
        if (bVar1) goto LAB_00048e9c;
LAB_00048d5c:
        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;
        unaff_s2 = (int ***)0x4c;
      }
      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);
      ppppiVar20 = ppppiVar15;
      if (iVar19 != 0) {
        ppppiVar20 = (int ****)(iVar19 + 1);
        uVar5 = (**(code **)(puStack_98 + -0x7f6c))
                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);
        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);
        (**(code **)(puStack_98 + -0x7fa0))(uVar5);
      }
      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);
      if (iVar7 == 0) {
        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);
        if (iVar7 == 0) {
          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);
          pcStack_88 = (code *)0x1;
        }
        else {
          pcStack_88 = (code *)0x1;
        }
      }
      else {
        pcStack_88 = (code *)0x0;
      }
      if ((unaff_s2 == (int ***)0x4c) &&
         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)
         , iVar8 == 0)) {
        if (iVar7 == 0) {
          iVar4 = 0;
          iVar8 = iStack_7c;
LAB_00048e64:
          iStack_7c = iVar8;
          (**(code **)(puStack_98 + -0x7fa0))(iVar19);
          (**(code **)(puStack_98 + -0x7fa0))(iVar4);
        }
        else {
          iStack_7c = iVar8;
          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);
          piVar9[4] = iVar19;
          piVar9[1] = 0x44;
          pcVar27 = (code *)0xffffffff;
          if (pcStack_88 != (code *)0x0) {
            iVar4 = 0;
            pcVar21 = (char *)0x0;
LAB_00049780:
            pcStack_88 = (code *)iStack_7c;
            iStack_7c = (int)pcVar27;
            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);
            piVar9[6] = iVar19;
            piVar9[2] = iVar7;
            piVar9[5] = iVar4;
            pcVar28 = pcStack_88;
            pcVar27 = (code *)iStack_7c;
            pcVar2 = pcStack_88;
            goto joined_r0x000497a8;
          }
          piVar9[6] = 0;
          iVar4 = 0;
          piVar9[2] = iVar7;
          piVar9[5] = 0;
LAB_00048c68:
          piVar9[7] = iVar4;
          piVar9[3] = (int)pcVar27;
          piVar9[10] = 0;
          piVar9[8] = 0;
          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;
LAB_00048f4c:
          pcVar27 = *(code **)(puStack_98 + -0x7ebc);
          uVar5 = *(undefined4 *)(iVar24 + 0x140);
          piVar9[9] = 1;
          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);
          if (piVar9 != piVar25) goto LAB_00048cac;
LAB_00048f6c:
          *piVar9 = 2;
        }
      }
      else {
        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);
        pcVar21 = (char *)(iVar4 + iVar8);
        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);
        if (*pcVar21 != '\0') {
          pcVar21 = pcVar21 + 1;
        }
        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);
        if (pcVar27 == (code *)0x0) {
          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);
          if (pcVar27 == (code *)0x0) {
            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);
            iVar8 = iStack_7c;
            goto LAB_00048e64;
          }
          iVar16 = 1;
          iVar8 = iStack_7c;
        }
        else {
          iVar16 = 0;
          iVar8 = iStack_7c;
        }
        iStack_7c = iVar16;
        if (iVar7 == 0) goto LAB_00048e64;
        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);
        piVar9[1] = (int)unaff_s2;
        piVar9[4] = iVar19;
        if (pcStack_88 != (code *)0x0) goto LAB_00049780;
        piVar9[2] = iVar7;
        piVar9[5] = iVar4;
        piVar9[6] = 0;
        pcVar28 = (code *)0x0;
        pcVar2 = (code *)iStack_7c;
joined_r0x000497a8:
        pcStack_88 = pcVar27;
        if (pcVar2 != (code *)0x0) {
          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);
          pcVar27 = pcStack_88;
          goto LAB_00048c68;
        }
        piVar9[3] = (int)pcStack_88;
        piVar9[10] = 0;
        piVar9[7] = 0;
        piVar9[8] = 0;
        pcStack_88 = pcVar28;
        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;
LAB_00048c80:
        iVar4 = 2;
        pcVar27 = *(code **)(puStack_98 + -0x7ebc);
        uVar5 = *(undefined4 *)(iVar24 + 0x140);
        if (pppiVar23 != (int ***)0x36) {
          iVar4 = 0;
        }
        piVar9[9] = iVar4;
        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);
        if (piVar9 == piVar25) goto LAB_00048f6c;
LAB_00048cac:
        pcVar27 = *(code **)(puStack_98 + -0x7fa0);
        if (*piVar25 == 0) {
          *piVar25 = 1;
        }
        (*pcVar27)(piVar9[4]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9);
      }
      ppppiVar15 = (int ****)pppiStack_60;
      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);
    } while (iVar4 != 0);
  }
  iVar4 = 0;
  iVar7 = *(int *)(puStack_98 + -0x7fc8);
  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);
  iVar19 = *(int *)(puStack_98 + -0x7fc8);
  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);
  do {
    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);
    while( true ) {
      if (piVar9 == (int *)0x0) {
        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);
        pppiVar23 = (int ***)0x0;
        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);
        pppiVar13 = (int ***)0x0;
        iVar4 = *(int *)(iVar24 + 0x140);
        iVar7 = *(int *)(puStack_98 + -0x7fc8);
        iVar19 = *(int *)(puStack_98 + -0x7fc8);
        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);
        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);
        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();
        ppppiVar11 = (int ****)0x0;
        goto joined_r0x0004902c;
      }
      if (*piVar9 == 0) break;
      iVar4 = iVar4 + 1;
      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);
    }
    if (piVar9[1] == 0x4c) {
      iVar16 = piVar9[4];
      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;
      if (iVar16 == 0) goto LAB_0004942c;
LAB_00049258:
      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;
    }
    else {
      if (piVar9[1] == 0x52) {
        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;
      }
      else {
        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;
      }
      iVar16 = piVar9[4];
      if (iVar16 != 0) goto LAB_00049258;
LAB_0004942c:
      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;
      iVar18 = iVar16;
    }
    pppiStack_b0 = (int ***)piVar9[2];
    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);
    ppppiVar20 = ppppiVar15;
    if (piVar9[1] != 0x44) {
      ppppiVar20 = (int ****)
                   (**(code **)(puStack_98 + -0x7f6c))
                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]
                             );
      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);
    }
    ppppiVar15 = ppppiVar20;
    FUN_00036288(iVar24,iVar19 + 0x47bc);
    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);
    iVar8 = piVar9[8];
    if (iVar8 == 0) {
      if (piVar9[10] != 0) {
        (**(code **)(puStack_98 + -0x7dcc))();
      }
    }
    else {
      pcVar27 = *(code **)(puStack_98 + -0x7eb8);
      if (*(int *)(iVar24 + 0x198) != 1) {
        unaff_s2 = (int ***)(*pcStack_88)(0x50);
        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);
        ppppiVar15 = (int ****)0x1;
        uStack_61 = 0;
        FUN_0003a494(unaff_s2,&uStack_61);
        if (piVar9[4] == 0) {
          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);
          if (iVar16 == 0) {
            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);
          }
          else {
            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);
          }
        }
        else {
          FUN_0003a7dc(unaff_s2);
        }
        FUN_0003a76c(unaff_s2,piVar9[2]);
        FUN_00045998(iVar24,unaff_s2);
        pcVar27 = *(code **)(puStack_98 + -0x7eb8);
      }
      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);
      (*(code *)pppiStack_8c)(iVar8);
    }
    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9);
  } while( true );
joined_r0x0004902c:
  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;
  if (*pppiVar10 == (int **)0x2) {
    ppppiVar15 = ppppiVar22;
    ppppiVar11 = ppppiVar22;
    if ((int ****)pppiVar10[4] != (int ****)0x0) {
      ppppiVar15 = (int ****)pppiVar10[4];
      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);
    }
    pppiStack_ac = (int ***)pppiVar10[2];
    pppiStack_b0 = (int ***)ppppiVar22;
    ppppiVar17 = ppppiVar22;
    pppiStack_a8 = (int ***)ppppiVar22;
    if ((int ****)pppiVar10[6] != (int ****)0x0) {
      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);
      ppppiVar17 = (int ****)pppiVar10[6];
      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);
    }
    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))
                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);
    ppppiVar15 = ppppiVar22;
    if (pppiVar10[1] == (int **)0x44) {
      ppppiVar11 = (int ****)0x0;
LAB_0004945c:
      piStack_a4 = (int *)pppiVar10[9];
      pppiStack_a8 = pppiVar10 + 10;
      pppiStack_ac = (int ***)uStack_90;
      pppiStack_b0 = (int ***)iVar24;
      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))
                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);
      if (pppiVar10[9] == (int **)0x1) {
        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);
      }
      else if (pppiVar10[9] == (int **)0x2) {
        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);
      }
      if ((int ****)pppiStack_ac == (int ****)0x0) {
        pppiStack_b0 = (int ***)ppppiVar22;
        pppiStack_ac = (int ***)ppppiVar22;
        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);
      }
      else {
        pppiStack_b0 = (int ***)(iVar7 + 0x4898);
        pppiStack_84 = pppiStack_ac;
        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);
LAB_000495e0:
        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);
      }
    }
    else {
      pppiStack_b0 = (int ***)pppiVar10[3];
      pppiStack_ac = (int ***)ppppiVar22;
      ppppiVar11 = ppppiVar22;
      ppppiVar17 = ppppiVar22;
      if ((int ****)pppiVar10[7] != (int ****)0x0) {
        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);
        ppppiVar11 = (int ****)pppiVar10[7];
        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);
      }
      ppppiVar11 = (int ****)
                   (**(code **)(puStack_98 + -0x7f6c))
                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,
                              ppppiVar17);
      if (pppiVar10[1] == (int **)0x4c) {
        piStack_a4 = (int *)pppiVar10[9];
        pppiStack_a8 = pppiVar10 + 10;
        pppiStack_ac = (int ***)uStack_90;
        pppiStack_b0 = (int ***)iVar24;
        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))
                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);
        pppiStack_b0 = (int ***)ppppiVar11;
        if (pppiVar10[9] == (int **)0x1) {
          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);
          if ((int ****)pppiStack_a8 == (int ****)0x0) {
            iVar4 = *(int *)(puStack_98 + -0x7fc8);
            goto LAB_00049828;
          }
        }
        else {
          if (pppiVar10[9] == (int **)0x2) {
            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);
          }
          iVar4 = *(int *)(puStack_98 + -0x7fc8);
          if ((int ****)pppiStack_a8 == (int ****)0x0) {
LAB_00049828:
            pppiStack_ac = (int ***)ppppiVar22;
            pppiStack_a8 = (int ***)ppppiVar22;
            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);
            goto LAB_00049208;
          }
        }
        pppiStack_ac = (int ***)(iVar7 + 0x4898);
        pppiStack_84 = pppiStack_a8;
        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);
        goto LAB_000495e0;
      }
      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;
      if (*(int *)(iVar24 + 0x13c) == 0) {
        if (*(int *)(iVar24 + 0x198) == 1) {
          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);
          *(undefined4 *)(iVar24 + 0x13c) = uVar5;
        }
        else {
          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);
          *(undefined4 *)(iVar24 + 0x13c) = uVar5;
        }
      }
      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);
      ppiVar12 = pppiVar10[5];
      pcVar27 = *(code **)(puStack_98 + -0x7f60);
      ppppiVar20[5] = (int ***)0x0;
      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);
      pppiVar14 = (int ***)pppiVar10[3];
      ppiVar12 = pppiVar10[4];
      ppppiVar20[3] = pppiVar13;
      ppppiVar20[1] = pppiVar14;
      if (ppiVar12 == (int **)0x0) {
        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);
        if (iVar4 == 0) {
          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))
                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);
          ppppiVar20[2] = pppiVar13;
        }
        else {
          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);
          ppppiVar20[2] = pppiVar13;
        }
      }
      else {
        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();
        ppppiVar20[2] = pppiVar13;
      }
      pcVar27 = *(code **)(puStack_98 + -0x7ebc);
      uVar5 = *(undefined4 *)(iVar24 + 0x13c);
      *ppppiVar20 = (int ***)pppiVar10[2];
      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);
      if (ppppiVar20 == ppppiVar15) {
        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);
        ppppiVar15 = *(int *****)(iVar24 + 0x198);
        ppppiVar20[4] = unaff_s2;
        pppiVar10[8] = (int **)ppppiVar20;
        ppppiVar20[6] = pppiVar10;
        if (ppppiVar15 == (int ****)0x1) {
          uStack_a0 = 0;
          piStack_a4 = (int *)pppiVar10[3];
          unaff_s2 = (int ***)0x0;
          pppiStack_ac = (int ***)pppiVar10[5];
          pppiStack_b0 = (int ***)0x4;
          pppiStack_a8 = (int ***)ppppiVar15;
          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);
          ppppiVar15 = (int ****)0xf;
          pppiStack_b0 = (int ***)ppppiVar20;
          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);
        }
        else {
          uVar5 = FUN_0003a5ec(0x50);
          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);
          uStack_61 = 1;
          FUN_0003a494(uVar5,&uStack_61,1);
          FUN_0003a7dc(uVar5,ppppiVar20[2]);
          FUN_0003a76c(uVar5,*ppppiVar20);
          unaff_s2 = (int ***)0x0;
          FUN_00045998(iVar24,uVar5);
          ppppiVar15 = (int ****)0x52;
          pppiStack_b0 = (int ***)ppppiVar20;
          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);
        }
      }
      else {
        ppppiVar15 = (int ****)pppiVar10[5];
        (*(code *)pppiStack_8c)
                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);
        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);
      }
    }
LAB_00049208:
    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);
    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);
  }
  pppiVar23 = (int ***)((int)pppiVar23 + 1);
  iVar4 = *(int *)(iVar24 + 0x140);
  pppiVar13 = pppiVar23;
  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();
  goto joined_r0x0004902c;
LAB_00049064:
  if (iStack_5c == *piStack_74) {
    return;
  }
  pcVar27 = *(code **)(puStack_98 + -0x74e0);
  pcVar28 = FUN_00049944;
  (*pcVar27)();
  pcStack_e8 = pcVar27 + 0x6e80c;
  *(int ****)(iVar4 + 0x11c) = pppiVar13;
  *(int *****)(iVar4 + 0x120) = ppppiVar15;
  piVar9 = *(int **)(pcVar27 + 0x67358);
  iVar7 = *piVar9;
  iStack_dc = iVar7;
  ppiStack_d8 = (int **)pppiVar23;
  pppiStack_d4 = (int ***)ppppiVar22;
  ppiStack_d0 = (int **)unaff_s2;
  iStack_cc = iVar24;
  pppiStack_c8 = (int ***)ppppiVar11;
  pcStack_c4 = pcVar28;
  if (*(int *)(iVar4 + 0x144) == 2) {
    *(undefined4 *)(iVar4 + 0x148) = 1;
  }
  else if (*(int *)(iVar4 + 0x144) == 3) {
    pppiVar13 = (int ***)0x16;
    iVar7 = *(int *)(iVar4 + 0x248);
    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);
    if (iVar8 == 0) {
      iVar8 = *(int *)(iVar4 + 0x198);
      if (iVar8 == 1) {
        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);
        pppiVar13 = (int ***)0xb;
        uStack_f0 = 0;
        uStack_f4 = 0;
        uStack_fc = 0;
        iVar7 = iVar4;
        iStack_108 = iVar8;
        iStack_100 = iVar8;
        iStack_f8 = iVar8;
        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));
      }
      else {
        iVar7 = *(int *)(iVar4 + 0x128);
        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);
        if (iVar7 != 0) {
          ppppiVar11 = (int ****)&ppiStack_e0;
          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);
          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));
          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));
          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;
          ppiStack_e0 = (int **)0x0;
          FUN_0003a494(unaff_s2,ppppiVar11,4);
          ppiStack_e0 = (int **)0x0;
          FUN_0003a494(unaff_s2,ppppiVar11,4);
          iVar7 = iVar4;
          pppiVar13 = unaff_s2;
          FUN_00045998(iVar4,unaff_s2);
        }
      }
    }
  }
  if (iStack_dc == *piVar9) {
    return;
  }
  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);
  uVar5 = 0x49af8;
  (*pcVar27)();
  piVar25 = *(int **)(pcVar27 + 0x671a4);
  iStack_13c = *piVar25;
  iStack_138 = iVar4;
  piStack_134 = piVar9;
  ppiStack_130 = (int **)unaff_s2;
  iStack_12c = iVar24;
  pppiStack_128 = (int ***)ppppiVar11;
  pppiStack_124 = (int ***)ppppiVar20;
  iStack_120 = iVar19;
  uStack_11c = uVar5;
  iVar24 = FUN_00036188(pppiVar13);
  FUN_00036ca4();
  uVar5 = FUN_00036188(pppiVar13);
  if (iStack_15c == 0) {
    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;
  }
  iStack_14c = (**(code **)(pcVar27 + 0x666ec))
                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);
  uStack_154 = uVar5;
  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);
  if (iVar4 == 0) {
    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);
  }
  else {
    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);
    *piVar9 = iVar7;
    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);
    iVar4 = (**(code **)(pcVar27 + 0x66cac))
                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),
                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));
    if (iVar4 == 0) {
      FUN_0003d798(piVar9);
      piVar9[3] = 3;
      piVar9[1] = iVar24;
      piVar9[4] = 0;
      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);
      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;
      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);
      goto LAB_00049cac;
    }
    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);
    (**(code **)(pcVar27 + 0x666b8))(iVar4);
    (**(code **)(pcVar27 + 0x666b8))(piVar9);
  }
  iVar4 = 0x16;
  FUN_00048a74(iVar7,0x16,1,iVar24,0);
LAB_00049cac:
  iVar24 = iStack_14c;
  (**(code **)(pcVar27 + 0x666b8))();
  if (iStack_13c == *piVar25) {
    return;
  }
  pcVar27 = *(code **)(pcVar27 + 0x67178);
  (*pcVar27)();
  iVar4 = FUN_00036188(iVar4);
  (**(code **)(pcVar27 + 0x66468))
            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);
  if (*(int *)(iVar24 + 0x4c) == 0) {
    FUN_00048a74(iVar24,0x16,1,iVar4,0);
                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar27 + 0x66468))
              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);
    return;
  }
  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);
  *piVar9 = iVar24;
  FUN_0003d798(piVar9);
  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);
  piVar9[0x13] = iVar19;
  piVar9[1] = iVar4;
  piVar9[4] = 0;
  piVar9[3] = 1;
  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);
                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(pcVar27 + 0x66468))
            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);
  return;
}


lui gp,0x7
addiu gp,gp,-0x924
addu gp,gp,t9
addiu sp,sp,-0x30
lw t9,-0x7b0c(gp)
or v1,a1,zero
addiu v0,sp,0x38
sw s0,0x24(sp)
addiu t9,t9,-0x4448
sw a2,0x38(sp)
or a1,v0,zero
sw a3,0x3c(sp)
sw v0,0x18(sp)
lw s0,-0x74b4(gp)
sw gp,0x10(sp)
sw ra,0x2c(sp)
sw s1,0x28(sp)
or s1,a0,zero
lw v0,0x0(s0)
or a0,v1,zero
sw v0,0x1c(sp)
bal 0x0003bbb8
_nop
or a0,s1,zero
lw gp,0x10(sp)
lw t9,-0x7ac4(gp)
addiu t9,t9,-0x7698
bal 0x00048968
_or a1,v0,zero
lw v1,0x1c(sp)
lw v0,0x0(s0)
bne v1,v0,0x00048b0c
_lw gp,0x10(sp)
lw ra,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x30
lw t9,-0x74e0(gp)
jalr t9
_nop
(translation_unit "void FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}\n\n" (function_definition "void FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}" primitive_type (function_declarator "FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int ***pppiVar10;" primitive_type (pointer_declarator "***pppiVar10" * (pointer_declarator "**pppiVar10" * (pointer_declarator "*pppiVar10" * identifier))) ;) (declaration "int ****ppppiVar11;" primitive_type (pointer_declarator "****ppppiVar11" * (pointer_declarator "***ppppiVar11" * (pointer_declarator "**ppppiVar11" * (pointer_declarator "*ppppiVar11" * identifier)))) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "int ***pppiVar13;" primitive_type (pointer_declarator "***pppiVar13" * (pointer_declarator "**pppiVar13" * (pointer_declarator "*pppiVar13" * identifier))) ;) (declaration "int ***pppiVar14;" primitive_type (pointer_declarator "***pppiVar14" * (pointer_declarator "**pppiVar14" * (pointer_declarator "*pppiVar14" * identifier))) ;) (declaration "int ****ppppiVar15;" primitive_type (pointer_declarator "****ppppiVar15" * (pointer_declarator "***ppppiVar15" * (pointer_declarator "**ppppiVar15" * (pointer_declarator "*ppppiVar15" * identifier)))) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int ****ppppiVar17;" primitive_type (pointer_declarator "****ppppiVar17" * (pointer_declarator "***ppppiVar17" * (pointer_declarator "**ppppiVar17" * (pointer_declarator "*ppppiVar17" * identifier)))) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int ****ppppiVar20;" primitive_type (pointer_declarator "****ppppiVar20" * (pointer_declarator "***ppppiVar20" * (pointer_declarator "**ppppiVar20" * (pointer_declarator "*ppppiVar20" * identifier)))) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int ****ppppiVar22;" primitive_type (pointer_declarator "****ppppiVar22" * (pointer_declarator "***ppppiVar22" * (pointer_declarator "**ppppiVar22" * (pointer_declarator "*ppppiVar22" * identifier)))) ;) (declaration "int ***unaff_s2;" primitive_type (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier))) ;) (declaration "int ***pppiVar23;" primitive_type (pointer_declarator "***pppiVar23" * (pointer_declarator "**pppiVar23" * (pointer_declarator "*pppiVar23" * identifier))) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "undefined4 uStack_160;" type_identifier identifier ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "undefined1 auStack_158 [4];" type_identifier (array_declarator "auStack_158 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "int iStack_14c;" primitive_type identifier ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "int *piStack_134;" primitive_type (pointer_declarator "*piStack_134" * identifier) ;) (declaration "int **ppiStack_130;" primitive_type (pointer_declarator "**ppiStack_130" * (pointer_declarator "*ppiStack_130" * identifier)) ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "int ***pppiStack_128;" primitive_type (pointer_declarator "***pppiStack_128" * (pointer_declarator "**pppiStack_128" * (pointer_declarator "*pppiStack_128" * identifier))) ;) (declaration "int ***pppiStack_124;" primitive_type (pointer_declarator "***pppiStack_124" * (pointer_declarator "**pppiStack_124" * (pointer_declarator "*pppiStack_124" * identifier))) ;) (declaration "int iStack_120;" primitive_type identifier ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "int iStack_108;" primitive_type identifier ;) (declaration "undefined4 uStack_104;" type_identifier identifier ;) (declaration "int iStack_100;" primitive_type identifier ;) (declaration "undefined4 uStack_fc;" type_identifier identifier ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "undefined4 uStack_f0;" type_identifier identifier ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "int **ppiStack_e0;" primitive_type (pointer_declarator "**ppiStack_e0" * (pointer_declarator "*ppiStack_e0" * identifier)) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "int **ppiStack_d8;" primitive_type (pointer_declarator "**ppiStack_d8" * (pointer_declarator "*ppiStack_d8" * identifier)) ;) (declaration "int ***pppiStack_d4;" primitive_type (pointer_declarator "***pppiStack_d4" * (pointer_declarator "**pppiStack_d4" * (pointer_declarator "*pppiStack_d4" * identifier))) ;) (declaration "int **ppiStack_d0;" primitive_type (pointer_declarator "**ppiStack_d0" * (pointer_declarator "*ppiStack_d0" * identifier)) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "int ***pppiStack_c8;" primitive_type (pointer_declarator "***pppiStack_c8" * (pointer_declarator "**pppiStack_c8" * (pointer_declarator "*pppiStack_c8" * identifier))) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "int ***pppiStack_b0;" primitive_type (pointer_declarator "***pppiStack_b0" * (pointer_declarator "**pppiStack_b0" * (pointer_declarator "*pppiStack_b0" * identifier))) ;) (declaration "int ***pppiStack_ac;" primitive_type (pointer_declarator "***pppiStack_ac" * (pointer_declarator "**pppiStack_ac" * (pointer_declarator "*pppiStack_ac" * identifier))) ;) (declaration "int ***pppiStack_a8;" primitive_type (pointer_declarator "***pppiStack_a8" * (pointer_declarator "**pppiStack_a8" * (pointer_declarator "*pppiStack_a8" * identifier))) ;) (declaration "int *piStack_a4;" primitive_type (pointer_declarator "*piStack_a4" * identifier) ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "undefined4 uStack_90;" type_identifier identifier ;) (declaration "int ***pppiStack_8c;" primitive_type (pointer_declarator "***pppiStack_8c" * (pointer_declarator "**pppiStack_8c" * (pointer_declarator "*pppiStack_8c" * identifier))) ;) (declaration "code *pcStack_88;" type_identifier (pointer_declarator "*pcStack_88" * identifier) ;) (declaration "int ***pppiStack_84;" primitive_type (pointer_declarator "***pppiStack_84" * (pointer_declarator "**pppiStack_84" * (pointer_declarator "*pppiStack_84" * identifier))) ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "code *pcStack_78;" type_identifier (pointer_declarator "*pcStack_78" * identifier) ;) (declaration "int *piStack_74;" primitive_type (pointer_declarator "*piStack_74" * identifier) ;) (declaration "int iStack_70;" primitive_type identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "undefined1 uStack_61;" type_identifier identifier ;) (declaration "int ***pppiStack_60;" primitive_type (pointer_declarator "***pppiStack_60" * (pointer_declarator "**pppiStack_60" * (pointer_declarator "*pppiStack_60" * identifier))) ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "int iStack_54;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b0c9c" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b0c9c" * (cast_expression "(int *)PTR___stack_chk_guard_000b0c9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "uVar5 = FUN_0003bbb8(param_2,&local_res8);" (assignment_expression "uVar5 = FUN_0003bbb8(param_2,&local_res8)" identifier = (call_expression "FUN_0003bbb8(param_2,&local_res8)" identifier (argument_list "(param_2,&local_res8)" ( identifier , (pointer_expression "&local_res8" & identifier) )))) ;) (expression_statement "iVar24 = param_1;" (assignment_expression "iVar24 = param_1" identifier = identifier) ;) (expression_statement "FUN_00048968();" (call_expression "FUN_00048968()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar4 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(iVar4 == *(int *)puVar3)" ( (binary_expression "iVar4 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar26 = PTR___stack_chk_fail_000b0c70;" (assignment_expression "puVar26 = PTR___stack_chk_fail_000b0c70" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" * (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_98 = puVar26 + 0x6f638;" (assignment_expression "puStack_98 = puVar26 + 0x6f638" identifier = (binary_expression "puVar26 + 0x6f638" identifier + number_literal)) ;) (expression_statement "piStack_74 = *(int **)(puVar26 + 0x68184);" (assignment_expression "piStack_74 = *(int **)(puVar26 + 0x68184)" identifier = (pointer_expression "*(int **)(puVar26 + 0x68184)" * (cast_expression "(int **)(puVar26 + 0x68184)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x68184)" ( (binary_expression "puVar26 + 0x68184" identifier + number_literal) ))))) ;) (expression_statement "puStack_58 = puVar3;" (assignment_expression "puStack_58 = puVar3" identifier = identifier) ;) (expression_statement "iStack_5c = *piStack_74;" (assignment_expression "iStack_5c = *piStack_74" identifier = (pointer_expression "*piStack_74" * identifier)) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "uStack_90 = uVar5;" (assignment_expression "uStack_90 = uVar5" identifier = identifier) ;) (expression_statement "iStack_54 = param_1;" (assignment_expression "iStack_54 = param_1" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);" (assignment_expression "uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" identifier = (call_expression "(**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" (parenthesized_expression "(**(code **)(puVar26 + 0x67784))" ( (pointer_expression "**(code **)(puVar26 + 0x67784)" * (pointer_expression "*(code **)(puVar26 + 0x67784)" * (cast_expression "(code **)(puVar26 + 0x67784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x67784)" ( (binary_expression "puVar26 + 0x67784" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" ( (binary_expression "*(int *)(puVar26 + 0x67b2c) + -0x2c58" (pointer_expression "*(int *)(puVar26 + 0x67b2c)" * (cast_expression "(int *)(puVar26 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x67b2c)" ( (binary_expression "puVar26 + 0x67b2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar24 + 0x140) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x140) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" else (compound_statement "{\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" { (expression_statement "pcVar27 = *(code **)(puVar26 + 0x67790);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x67790)" identifier = (pointer_expression "*(code **)(puVar26 + 0x67790)" * (cast_expression "(code **)(puVar26 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x67790)" ( (binary_expression "puVar26 + 0x67790" identifier + number_literal) ))))) ;) (while_statement "while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }" while (parenthesized_expression "(puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0)" ( (comma_expression "puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0" (assignment_expression "puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19)" identifier = (cast_expression "(undefined4 *)(*pcVar27)(iVar4,iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(iVar4,iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar4,iVar19)" ( identifier , identifier ))))) , (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }" { (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ea8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ea8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) ;) })) }))) (expression_statement "pppiStack_84 = (int ***)&pppiStack_60;" (assignment_expression "pppiStack_84 = (int ***)&pppiStack_60" identifier = (cast_expression "(int ***)&pppiStack_60" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&pppiStack_60" & identifier))) ;) (expression_statement "ppppiVar15 = (int ****)0x0;" (assignment_expression "ppppiVar15 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7be8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7be8)" * (pointer_expression "*(code **)(puStack_98 + -0x7be8)" * (cast_expression "(code **)(puStack_98 + -0x7be8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7be8)" ( (binary_expression "puStack_98 + -0x7be8" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9b,0,pppiStack_84)" ( identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }" { (expression_statement "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);" (assignment_expression "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x3218" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_70 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iStack_70 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);" (assignment_expression "pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" identifier = (cast_expression "(code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" ( (binary_expression "*(int *)(puStack_98 + -0x7c8c) + 0x6288" (pointer_expression "*(int *)(puStack_98 + -0x7c8c)" * (cast_expression "(int *)(puStack_98 + -0x7c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7c8c)" ( (binary_expression "puStack_98 + -0x7c8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_6c = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iStack_6c = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" (assignment_expression "iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);" do (compound_statement "{\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    }" { (expression_statement "pppiVar23 = (int ***)(int)*(char *)pppiStack_60;" (assignment_expression "pppiVar23 = (int ***)(int)*(char *)pppiStack_60" identifier = (cast_expression "(int ***)(int)*(char *)pppiStack_60" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (cast_expression "(int)*(char *)pppiStack_60" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)pppiStack_60" * (cast_expression "(char *)pppiStack_60" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))))) ;) (if_statement "if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" if (parenthesized_expression "((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34))" ( (binary_expression "(pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)" (parenthesized_expression "(pppiVar23 == (int ***)0x41)" ( (binary_expression "pppiVar23 == (int ***)0x41" identifier == (cast_expression "(int ***)0x41" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(((uint)pppiVar23 & 0xfffffffd) == 0x34)" ( (binary_expression "((uint)pppiVar23 & 0xfffffffd) == 0x34" (parenthesized_expression "((uint)pppiVar23 & 0xfffffffd)" ( (binary_expression "(uint)pppiVar23 & 0xfffffffd" (cast_expression "(uint)pppiVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }" { (expression_statement "unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);" (assignment_expression "unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1)" identifier = (cast_expression "(int ***)(int)*(char *)((int)pppiStack_60 + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (cast_expression "(int)*(char *)((int)pppiStack_60 + 1)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)pppiStack_60 + 1)" * (cast_expression "(char *)((int)pppiStack_60 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiStack_60 + 1)" ( (binary_expression "(int)pppiStack_60 + 1" (cast_expression "(int)pppiStack_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ;) (expression_statement "ppppiVar15 = (int ****)((int)pppiStack_60 + 1);" (assignment_expression "ppppiVar15 = (int ****)((int)pppiStack_60 + 1)" identifier = (cast_expression "(int ****)((int)pppiStack_60 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppiStack_60 + 1)" ( (binary_expression "(int)pppiStack_60 + 1" (cast_expression "(int)pppiStack_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;" if (parenthesized_expression "(unaff_s2 != (int ***)0x4c)" ( (binary_expression "unaff_s2 != (int ***)0x4c" identifier != (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048d5c;" goto statement_identifier ;)) (labeled_statement "LAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);" statement_identifier : (expression_statement "ppppiVar15 = (int ****)((int)ppppiVar15 + 1);" (assignment_expression "ppppiVar15 = (int ****)((int)ppppiVar15 + 1)" identifier = (cast_expression "(int ****)((int)ppppiVar15 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppiVar15 + 1)" ( (binary_expression "(int)ppppiVar15 + 1" (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) }) (else_clause "else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" else (compound_statement "{\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" { (expression_statement "bVar1 = pppiVar23 == (int ***)0x4c;" (assignment_expression "bVar1 = pppiVar23 == (int ***)0x4c" identifier = (binary_expression "pppiVar23 == (int ***)0x4c" identifier == (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal))) ;) (expression_statement "ppppiVar15 = (int ****)pppiStack_60;" (assignment_expression "ppppiVar15 = (int ****)pppiStack_60" identifier = (cast_expression "(int ****)pppiStack_60" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "unaff_s2 = pppiVar23;" (assignment_expression "unaff_s2 = pppiVar23" identifier = identifier) ;) (expression_statement "pppiVar23 = (int ***)0x41;" (assignment_expression "pppiVar23 = (int ***)0x41" identifier = (cast_expression "(int ***)0x41" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (if_statement "if (bVar1) goto LAB_00048e9c;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_00048e9c;" goto statement_identifier ;)) (labeled_statement "LAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;" statement_identifier : (if_statement "if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;" if (parenthesized_expression "(unaff_s2 == (int ***)0x52)" ( (binary_expression "unaff_s2 == (int ***)0x52" identifier == (cast_expression "(int ***)0x52" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048e9c;" goto statement_identifier ;))) (expression_statement "unaff_s2 = (int ***)0x4c;" (assignment_expression "unaff_s2 = (int ***)0x4c" identifier = (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) }))) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ed8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ed8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ed8)" * (cast_expression "(code **)(puStack_98 + -0x7ed8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ed8)" ( (binary_expression "puStack_98 + -0x7ed8" identifier + number_literal) ))))) )) (argument_list "(ppppiVar15,0x3a)" ( identifier , number_literal )))) ;) (expression_statement "ppppiVar20 = ppppiVar15;" (assignment_expression "ppppiVar20 = ppppiVar15" identifier = identifier) ;) (if_statement "if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }" { (expression_statement "ppppiVar20 = (int ****)(iVar19 + 1);" (assignment_expression "ppppiVar20 = (int ****)(iVar19 + 1)" identifier = (cast_expression "(int ****)(iVar19 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar19 + 1)" ( (binary_expression "iVar19 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" ( identifier , (binary_expression "iVar19 - (int)ppppiVar15" identifier - (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7b20))(uVar5)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7b20))" ( (pointer_expression "**(code **)(puStack_98 + -0x7b20)" * (pointer_expression "*(code **)(puStack_98 + -0x7b20)" * (cast_expression "(code **)(puStack_98 + -0x7b20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7b20)" ( (binary_expression "puStack_98 + -0x7b20" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(uVar5);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(uVar5)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier ))) ;) })) (expression_statement "iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);" (assignment_expression "iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7668))" ( (pointer_expression "**(code **)(puStack_98 + -0x7668)" * (pointer_expression "*(code **)(puStack_98 + -0x7668)" * (cast_expression "(code **)(puStack_98 + -0x7668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7668)" ( (binary_expression "puStack_98 + -0x7668" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20,0,10)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }" { (expression_statement "iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);" (assignment_expression "iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20)" identifier = (call_expression "(**(code **)(puStack_98 + -0x799c))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x799c))" ( (pointer_expression "**(code **)(puStack_98 + -0x799c)" * (pointer_expression "*(code **)(puStack_98 + -0x799c)" * (cast_expression "(code **)(puStack_98 + -0x799c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x799c)" ( (binary_expression "puStack_98 + -0x799c" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }" { (expression_statement "(*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);" (call_expression "(*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20)" (parenthesized_expression "(*pcStack_78)" ( (pointer_expression "*pcStack_78" * identifier) )) (argument_list "(iVar24,iStack_70 + 0x4734,ppppiVar20)" ( identifier , (binary_expression "iStack_70 + 0x4734" identifier + number_literal) , identifier ))) ;) (expression_statement "pcStack_88 = (code *)0x1;" (assignment_expression "pcStack_88 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pcStack_88 = (code *)0x1;\n        }" else (compound_statement "{\n          pcStack_88 = (code *)0x1;\n        }" { (expression_statement "pcStack_88 = (code *)0x1;" (assignment_expression "pcStack_88 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n        pcStack_88 = (code *)0x0;\n      }" else (compound_statement "{\n        pcStack_88 = (code *)0x0;\n      }" { (expression_statement "pcStack_88 = (code *)0x0;" (assignment_expression "pcStack_88 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" if (parenthesized_expression "((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0))" ( (binary_expression "(unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)" (parenthesized_expression "(unaff_s2 == (int ***)0x4c)" ( (binary_expression "unaff_s2 == (int ***)0x4c" identifier == (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) && (parenthesized_expression "(iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7478))" ( (pointer_expression "**(code **)(puStack_98 + -0x7478)" * (pointer_expression "*(code **)(puStack_98 + -0x7478)" * (cast_expression "(code **)(puStack_98 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7478)" ( (binary_expression "puStack_98 + -0x7478" identifier + number_literal) ))))) )) (argument_list "(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2e20" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }" { (if_statement "if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) (labeled_statement "LAB_00048e64:\n          iStack_7c = iVar8;" statement_identifier : (expression_statement "iStack_7c = iVar8;" (assignment_expression "iStack_7c = iVar8" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(iVar19);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(iVar19)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(iVar4);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) }) (else_clause "else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" else (compound_statement "{\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" { (expression_statement "iStack_7c = iVar8;" (assignment_expression "iStack_7c = iVar8" identifier = identifier) ;) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f68)" * (pointer_expression "*(code **)(puStack_98 + -0x7f68)" * (cast_expression "(code **)(puStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f68)" ( (binary_expression "puStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(1,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar9[4] = iVar19;" (assignment_expression "piVar9[4] = iVar19" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[1] = 0x44;" (assignment_expression "piVar9[1] = 0x44" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar27 = (code *)0xffffffff;" (assignment_expression "pcVar27 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }" if (parenthesized_expression "(pcStack_88 != (code *)0x0)" ( (binary_expression "pcStack_88 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar21 = (char *)0x0;" (assignment_expression "pcVar21 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00049780:\n            pcStack_88 = (code *)iStack_7c;" statement_identifier : (expression_statement "pcStack_88 = (code *)iStack_7c;" (assignment_expression "pcStack_88 = (code *)iStack_7c" identifier = (cast_expression "(code *)iStack_7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "iStack_7c = (int)pcVar27;" (assignment_expression "iStack_7c = (int)pcVar27" identifier = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f60))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier )))) ;) (expression_statement "piVar9[6] = iVar19;" (assignment_expression "piVar9[6] = iVar19" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[5] = iVar4;" (assignment_expression "piVar9[5] = iVar4" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar28 = pcStack_88;" (assignment_expression "pcVar28 = pcStack_88" identifier = identifier) ;) (expression_statement "pcVar27 = (code *)iStack_7c;" (assignment_expression "pcVar27 = (code *)iStack_7c" identifier = (cast_expression "(code *)iStack_7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar2 = pcStack_88;" (assignment_expression "pcVar2 = pcStack_88" identifier = identifier) ;) (goto_statement "goto joined_r0x000497a8;" goto statement_identifier ;) })) (expression_statement "piVar9[6] = 0;" (assignment_expression "piVar9[6] = 0" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00048c68:\n          piVar9[7] = iVar4;" statement_identifier : (expression_statement "piVar9[7] = iVar4;" (assignment_expression "piVar9[7] = iVar4" (subscript_expression "piVar9[7]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "piVar9[3] = (int)pcVar27;" (assignment_expression "piVar9[3] = (int)pcVar27" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;" if (parenthesized_expression "(pppiVar23 != (int ***)0x34)" ( (binary_expression "pppiVar23 != (int ***)0x34" identifier != (cast_expression "(int ***)0x34" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048c80;" goto statement_identifier ;)) (labeled_statement "LAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" * (cast_expression "(code **)(puStack_98 + -0x7ebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ebc)" ( (binary_expression "puStack_98 + -0x7ebc" identifier + number_literal) ))))) ;)) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x140);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x140)" identifier = (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "piVar9[9] = 1;" (assignment_expression "piVar9[9] = 1" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar25 = (int *)(*pcVar27)(uVar5,piVar9);" (assignment_expression "piVar25 = (int *)(*pcVar27)(uVar5,piVar9)" identifier = (cast_expression "(int *)(*pcVar27)(uVar5,piVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(uVar5,piVar9)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar5,piVar9)" ( identifier , identifier ))))) ;) (if_statement "if (piVar9 != piVar25) goto LAB_00048cac;" if (parenthesized_expression "(piVar9 != piVar25)" ( (binary_expression "piVar9 != piVar25" identifier != identifier) )) (goto_statement "goto LAB_00048cac;" goto statement_identifier ;)) (labeled_statement "LAB_00048f6c:\n          *piVar9 = 2;" statement_identifier : (expression_statement "*piVar9 = 2;" (assignment_expression "*piVar9 = 2" (pointer_expression "*piVar9" * identifier) = number_literal) ;)) }))) }) (else_clause "else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" else (compound_statement "{\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" { (expression_statement "iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);" (assignment_expression "iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7d50))" ( (pointer_expression "**(code **)(puStack_98 + -0x7d50)" * (pointer_expression "*(code **)(puStack_98 + -0x7d50)" * (cast_expression "(code **)(puStack_98 + -0x7d50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7d50)" ( (binary_expression "puStack_98 + -0x7d50" identifier + number_literal) ))))) )) (argument_list "(iVar4,iStack_80)" ( identifier , identifier )))) ;) (expression_statement "pcVar21 = (char *)(iVar4 + iVar8);" (assignment_expression "pcVar21 = (char *)(iVar4 + iVar8)" identifier = (cast_expression "(char *)(iVar4 + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar8)" ( (binary_expression "iVar4 + iVar8" identifier + identifier) )))) ;) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(pppiStack_8c,iVar8,iVar4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }" if (parenthesized_expression "(*pcVar21 != '\0')" ( (binary_expression "*pcVar21 != '\0'" (pointer_expression "*pcVar21" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar21 = pcVar21 + 1;\n        }" { (expression_statement "pcVar21 = pcVar21 + 1;" (assignment_expression "pcVar21 = pcVar21 + 1" identifier = (binary_expression "pcVar21 + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);" (assignment_expression "pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" identifier = (cast_expression "(code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7668))" ( (pointer_expression "**(code **)(puStack_98 + -0x7668)" * (pointer_expression "*(code **)(puStack_98 + -0x7668)" * (cast_expression "(code **)(puStack_98 + -0x7668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7668)" ( (binary_expression "puStack_98 + -0x7668" identifier + number_literal) ))))) )) (argument_list "(pcVar21,0,10)" ( identifier , number_literal , number_literal ))))) ;) (if_statement "if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }" { (expression_statement "pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);" (assignment_expression "pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21)" identifier = (cast_expression "(code *)(**(code **)(puStack_98 + -0x799c))(pcVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x799c))(pcVar21)" (parenthesized_expression "(**(code **)(puStack_98 + -0x799c))" ( (pointer_expression "**(code **)(puStack_98 + -0x799c)" * (pointer_expression "*(code **)(puStack_98 + -0x799c)" * (cast_expression "(code **)(puStack_98 + -0x799c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x799c)" ( (binary_expression "puStack_98 + -0x799c" identifier + number_literal) ))))) )) (argument_list "(pcVar21)" ( identifier ))))) ;) (if_statement "if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }" { (expression_statement "(*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);" (call_expression "(*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21)" (parenthesized_expression "(*pcStack_78)" ( (pointer_expression "*pcStack_78" * identifier) )) (argument_list "(iVar24,iStack_6c + 0x4760,pcVar21)" ( identifier , (binary_expression "iStack_6c + 0x4760" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) (goto_statement "goto LAB_00048e64;" goto statement_identifier ;) })) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) }) (else_clause "else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" else (compound_statement "{\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) }))) (expression_statement "iStack_7c = iVar16;" (assignment_expression "iStack_7c = iVar16" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00048e64;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00048e64;" goto statement_identifier ;)) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f68)" * (pointer_expression "*(code **)(puStack_98 + -0x7f68)" * (cast_expression "(code **)(puStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f68)" ( (binary_expression "puStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(1,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar9[1] = (int)unaff_s2;" (assignment_expression "piVar9[1] = (int)unaff_s2" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[4] = iVar19;" (assignment_expression "piVar9[4] = iVar19" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pcStack_88 != (code *)0x0) goto LAB_00049780;" if (parenthesized_expression "(pcStack_88 != (code *)0x0)" ( (binary_expression "pcStack_88 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00049780;" goto statement_identifier ;)) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[5] = iVar4;" (assignment_expression "piVar9[5] = iVar4" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[6] = 0;" (assignment_expression "piVar9[6] = 0" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar28 = (code *)0x0;" (assignment_expression "pcVar28 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar2 = (code *)iStack_7c;" (assignment_expression "pcVar2 = (code *)iStack_7c" identifier = (cast_expression "(code *)iStack_7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "joined_r0x000497a8:\n        pcStack_88 = pcVar27;" statement_identifier : (expression_statement "pcStack_88 = pcVar27;" (assignment_expression "pcStack_88 = pcVar27" identifier = identifier) ;)) (if_statement "if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }" { (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f60))(pcVar21)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(pcVar21)" ( identifier )))) ;) (expression_statement "pcVar27 = pcStack_88;" (assignment_expression "pcVar27 = pcStack_88" identifier = identifier) ;) (goto_statement "goto LAB_00048c68;" goto statement_identifier ;) })) (expression_statement "piVar9[3] = (int)pcStack_88;" (assignment_expression "piVar9[3] = (int)pcStack_88" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)pcStack_88" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[7] = 0;" (assignment_expression "piVar9[7] = 0" (subscript_expression "piVar9[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcStack_88 = pcVar28;" (assignment_expression "pcStack_88 = pcVar28" identifier = identifier) ;) (if_statement "if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;" if (parenthesized_expression "(pppiVar23 == (int ***)0x34)" ( (binary_expression "pppiVar23 == (int ***)0x34" identifier == (cast_expression "(int ***)0x34" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048f4c;" goto statement_identifier ;)) (labeled_statement "LAB_00048c80:\n        iVar4 = 2;" statement_identifier : (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;)) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" * (cast_expression "(code **)(puStack_98 + -0x7ebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ebc)" ( (binary_expression "puStack_98 + -0x7ebc" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x140);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x140)" identifier = (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (if_statement "if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }" if (parenthesized_expression "(pppiVar23 != (int ***)0x36)" ( (binary_expression "pppiVar23 != (int ***)0x36" identifier != (cast_expression "(int ***)0x36" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n          iVar4 = 0;\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "piVar9[9] = iVar4;" (assignment_expression "piVar9[9] = iVar4" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar25 = (int *)(*pcVar27)(uVar5,piVar9);" (assignment_expression "piVar25 = (int *)(*pcVar27)(uVar5,piVar9)" identifier = (cast_expression "(int *)(*pcVar27)(uVar5,piVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(uVar5,piVar9)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar5,piVar9)" ( identifier , identifier ))))) ;) (if_statement "if (piVar9 == piVar25) goto LAB_00048f6c;" if (parenthesized_expression "(piVar9 == piVar25)" ( (binary_expression "piVar9 == piVar25" identifier == identifier) )) (goto_statement "goto LAB_00048f6c;" goto statement_identifier ;)) (labeled_statement "LAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7fa0);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7fa0)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) ;)) (if_statement "if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }" if (parenthesized_expression "(*piVar25 == 0)" ( (binary_expression "*piVar25 == 0" (pointer_expression "*piVar25" * identifier) == number_literal) )) (compound_statement "{\n          *piVar25 = 1;\n        }" { (expression_statement "*piVar25 = 1;" (assignment_expression "*piVar25 = 1" (pointer_expression "*piVar25" * identifier) = number_literal) ;) })) (expression_statement "(*pcVar27)(piVar9[4]);" (call_expression "(*pcVar27)(piVar9[4])" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar9[4])" ( (subscript_expression "piVar9[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[5])" ( (subscript_expression "piVar9[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[6])" ( (subscript_expression "piVar9[6]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[7])" ( (subscript_expression "piVar9[7]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier ))) ;) }))) (expression_statement "ppppiVar15 = (int ****)pppiStack_60;" (assignment_expression "ppppiVar15 = (int ****)pppiStack_60" identifier = (cast_expression "(int ****)pppiStack_60" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7be8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7be8)" * (pointer_expression "*(code **)(puStack_98 + -0x7be8)" * (cast_expression "(code **)(puStack_98 + -0x7be8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7be8)" ( (binary_expression "puStack_98 + -0x7be8" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9b,pppiStack_60,pppiStack_84)" ( identifier , number_literal , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);" (assignment_expression "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x63f8" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar19 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar19 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);" (assignment_expression "pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" identifier = (cast_expression "(code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x5a14" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );" do (compound_statement "{\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) , identifier ))))) ;) (while_statement "while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }" { (if_statement "if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }" { (expression_statement "pcStack_88 = *(code **)(puStack_98 + -0x7fc8);" (assignment_expression "pcStack_88 = *(code **)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7fc8)" * (cast_expression "(code **)(puStack_98 + -0x7fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pppiVar23 = (int ***)0x0;" (assignment_expression "pppiVar23 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);" (assignment_expression "ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c)" identifier = (pointer_expression "*(int *****)(puStack_98 + -0x7c8c)" * (cast_expression "(int *****)(puStack_98 + -0x7c8c)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puStack_98 + -0x7c8c)" ( (binary_expression "puStack_98 + -0x7c8c" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = (int ***)0x0;" (assignment_expression "pppiVar13 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar19 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);" (assignment_expression "pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2)" identifier = (cast_expression "(int ***)(ppppiVar20 + 0x18a2)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppppiVar20 + 0x18a2)" ( (binary_expression "ppppiVar20 + 0x18a2" identifier + number_literal) )))) ;) (expression_statement "ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);" (assignment_expression "ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();" (assignment_expression "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))()" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7ea8))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppiVar11 = (int ****)0x0;" (assignment_expression "ppppiVar11 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (goto_statement "goto joined_r0x0004902c;" goto statement_identifier ;) })) (if_statement "if (*piVar9 == 0) break;" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) , identifier ))))) ;) })) (if_statement "if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" if (parenthesized_expression "(piVar9[1] == 0x4c)" ( (binary_expression "piVar9[1] == 0x4c" (subscript_expression "piVar9[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }" { (expression_statement "iVar16 = piVar9[4];" (assignment_expression "iVar16 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4708" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar16 == 0) goto LAB_0004942c;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004942c;" goto statement_identifier ;)) (labeled_statement "LAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" statement_identifier : (expression_statement "iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" (assignment_expression "iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;)) }) (else_clause "else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" else (compound_statement "{\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" { (if_statement "if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" if (parenthesized_expression "(piVar9[1] == 0x52)" ( (binary_expression "piVar9[1] == 0x52" (subscript_expression "piVar9[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }" { (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4710" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" else (compound_statement "{\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" { (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4718" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "iVar16 = piVar9[4];" (assignment_expression "iVar16 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar16 != 0) goto LAB_00049258;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049258;" goto statement_identifier ;)) (labeled_statement "LAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;" statement_identifier : (expression_statement "iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;" (assignment_expression "iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" identifier = identifier) ;) }))) (expression_statement "pppiStack_b0 = (int ***)piVar9[2];" (assignment_expression "pppiStack_b0 = (int ***)piVar9[2]" identifier = (cast_expression "(int ***)piVar9[2]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "piVar9[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);" (assignment_expression "ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" identifier = (cast_expression "(int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x4790,iVar8,iVar16,iVar18)" ( (binary_expression "iVar7 + 0x4790" identifier + number_literal) , identifier , identifier , identifier ))))) ;) (expression_statement "ppppiVar20 = ppppiVar15;" (assignment_expression "ppppiVar20 = ppppiVar15" identifier = identifier) ;) (if_statement "if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }" if (parenthesized_expression "(piVar9[1] != 0x44)" ( (binary_expression "piVar9[1] != 0x44" (subscript_expression "piVar9[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }" { (expression_statement "ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );" (assignment_expression "ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" identifier = (cast_expression "(int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47b0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , (subscript_expression "piVar9[5]" identifier [ number_literal ]) , (subscript_expression "piVar9[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar15)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar15)" ( identifier ))) ;) })) (expression_statement "ppppiVar15 = ppppiVar20;" (assignment_expression "ppppiVar15 = ppppiVar20" identifier = identifier) ;) (expression_statement "FUN_00036288(iVar24,iVar19 + 0x47bc);" (call_expression "FUN_00036288(iVar24,iVar19 + 0x47bc)" identifier (argument_list "(iVar24,iVar19 + 0x47bc)" ( identifier , (binary_expression "iVar19 + 0x47bc" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier ))) ;) (expression_statement "iVar8 = piVar9[8];" (assignment_expression "iVar8 = piVar9[8]" identifier = (subscript_expression "piVar9[8]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }" { (if_statement "if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }" if (parenthesized_expression "(piVar9[10] != 0)" ( (binary_expression "piVar9[10] != 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }" { (expression_statement "(**(code **)(puStack_98 + -0x7dcc))();" (call_expression "(**(code **)(puStack_98 + -0x7dcc))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7dcc))" ( (pointer_expression "**(code **)(puStack_98 + -0x7dcc)" * (pointer_expression "*(code **)(puStack_98 + -0x7dcc)" * (cast_expression "(code **)(puStack_98 + -0x7dcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7dcc)" ( (binary_expression "puStack_98 + -0x7dcc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" else (compound_statement "{\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" { (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7eb8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7eb8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7eb8)" * (cast_expression "(code **)(puStack_98 + -0x7eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb8)" ( (binary_expression "puStack_98 + -0x7eb8" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }" if (parenthesized_expression "(*(int *)(iVar24 + 0x198) != 1)" ( (binary_expression "*(int *)(iVar24 + 0x198) != 1" (pointer_expression "*(int *)(iVar24 + 0x198)" * (cast_expression "(int *)(iVar24 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x198)" ( (binary_expression "iVar24 + 0x198" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }" { (expression_statement "unaff_s2 = (int ***)(*pcStack_88)(0x50);" (assignment_expression "unaff_s2 = (int ***)(*pcStack_88)(0x50)" identifier = (cast_expression "(int ***)(*pcStack_88)(0x50)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(*pcStack_88)(0x50)" (parenthesized_expression "(*pcStack_88)" ( (pointer_expression "*pcStack_88" * identifier) )) (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc)" identifier (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47cc" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppiVar15 = (int ****)0x1;" (assignment_expression "ppppiVar15 = (int ****)0x1" identifier = (cast_expression "(int ****)0x1" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "uStack_61 = 0;" (assignment_expression "uStack_61 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003a494(unaff_s2,&uStack_61);" (call_expression "FUN_0003a494(unaff_s2,&uStack_61)" identifier (argument_list "(unaff_s2,&uStack_61)" ( identifier , (pointer_expression "&uStack_61" & identifier) ))) ;) (if_statement "if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }" if (parenthesized_expression "(piVar9[4] == 0)" ( (binary_expression "piVar9[4] == 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }" { (expression_statement "iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);" (assignment_expression "iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f3c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f3c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f3c)" * (cast_expression "(code **)(puStack_98 + -0x7f3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f3c)" ( (binary_expression "puStack_98 + -0x7f3c" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }" { (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" identifier (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47e4" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" else (compound_statement "{\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" { (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" identifier (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) }))) }) (else_clause "else {\n          FUN_0003a7dc(unaff_s2);\n        }" else (compound_statement "{\n          FUN_0003a7dc(unaff_s2);\n        }" { (expression_statement "FUN_0003a7dc(unaff_s2);" (call_expression "FUN_0003a7dc(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) }))) (expression_statement "FUN_0003a76c(unaff_s2,piVar9[2]);" (call_expression "FUN_0003a76c(unaff_s2,piVar9[2])" identifier (argument_list "(unaff_s2,piVar9[2])" ( identifier , (subscript_expression "piVar9[2]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_00045998(iVar24,unaff_s2);" (call_expression "FUN_00045998(iVar24,unaff_s2)" identifier (argument_list "(iVar24,unaff_s2)" ( identifier , identifier ))) ;) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7eb8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7eb8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7eb8)" * (cast_expression "(code **)(puStack_98 + -0x7eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb8)" ( (binary_expression "puStack_98 + -0x7eb8" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);" (call_expression "(*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar24 + 0x13c),iVar8)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar8);" (call_expression "(*(code *)pppiStack_8c)(iVar8)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))) ;) }))) (expression_statement "(**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (call_expression "(**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ec0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ec0)" * (pointer_expression "*(code **)(puStack_98 + -0x7ec0)" * (cast_expression "(code **)(puStack_98 + -0x7ec0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ec0)" ( (binary_expression "puStack_98 + -0x7ec0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[4])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[4])" ( (subscript_expression "piVar9[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[5])" ( (subscript_expression "piVar9[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[6])" ( (subscript_expression "piVar9[6]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[7])" ( (subscript_expression "piVar9[7]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "joined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;" statement_identifier : (if_statement "if (pppiVar10 == (int ***)0x0) goto LAB_00049064;" if (parenthesized_expression "(pppiVar10 == (int ***)0x0)" ( (binary_expression "pppiVar10 == (int ***)0x0" identifier == (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00049064;" goto statement_identifier ;))) (if_statement "if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }" if (parenthesized_expression "(*pppiVar10 == (int **)0x2)" ( (binary_expression "*pppiVar10 == (int **)0x2" (pointer_expression "*pppiVar10" * identifier) == (cast_expression "(int **)0x2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }" { (expression_statement "ppppiVar15 = ppppiVar22;" (assignment_expression "ppppiVar15 = ppppiVar22" identifier = identifier) ;) (expression_statement "ppppiVar11 = ppppiVar22;" (assignment_expression "ppppiVar11 = ppppiVar22" identifier = identifier) ;) (if_statement "if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }" if (parenthesized_expression "((int ****)pppiVar10[4] != (int ****)0x0)" ( (binary_expression "(int ****)pppiVar10[4] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[4]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[4]" identifier [ number_literal ])) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }" { (expression_statement "ppppiVar15 = (int ****)pppiVar10[4];" (assignment_expression "ppppiVar15 = (int ****)pppiVar10[4]" identifier = (cast_expression "(int ****)pppiVar10[4]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);" (assignment_expression "ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "pppiStack_ac = (int ***)pppiVar10[2];" (assignment_expression "pppiStack_ac = (int ***)pppiVar10[2]" identifier = (cast_expression "(int ***)pppiVar10[2]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[2]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppiVar17 = ppppiVar22;" (assignment_expression "ppppiVar17 = ppppiVar22" identifier = identifier) ;) (expression_statement "pppiStack_a8 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }" if (parenthesized_expression "((int ****)pppiVar10[6] != (int ****)0x0)" ( (binary_expression "(int ****)pppiVar10[6] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[6]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[6]" identifier [ number_literal ])) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }" { (expression_statement "pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);" (assignment_expression "pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4720" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppiVar17 = (int ****)pppiVar10[6];" (assignment_expression "ppppiVar17 = (int ****)pppiVar10[6]" identifier = (cast_expression "(int ****)pppiVar10[6]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[6]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);" (assignment_expression "pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x45b8" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);" (assignment_expression "unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" ( (binary_expression "iVar19 + 0x47f0" identifier + number_literal) , identifier , identifier , identifier ))))) ;) (expression_statement "ppppiVar15 = ppppiVar22;" (assignment_expression "ppppiVar15 = ppppiVar22" identifier = identifier) ;) (if_statement "if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" if (parenthesized_expression "(pppiVar10[1] == (int **)0x44)" ( (binary_expression "pppiVar10[1] == (int **)0x44" (subscript_expression "pppiVar10[1]" identifier [ number_literal ]) == (cast_expression "(int **)0x44" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }" { (expression_statement "ppppiVar11 = (int ****)0x0;" (assignment_expression "ppppiVar11 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (labeled_statement "LAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];" statement_identifier : (expression_statement "piStack_a4 = (int *)pppiVar10[9];" (assignment_expression "piStack_a4 = (int *)pppiVar10[9]" identifier = (cast_expression "(int *)pppiVar10[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppiVar10[9]" identifier [ number_literal ]))) ;)) (expression_statement "pppiStack_a8 = pppiVar10 + 10;" (assignment_expression "pppiStack_a8 = pppiVar10 + 10" identifier = (binary_expression "pppiVar10 + 10" identifier + number_literal)) ;) (expression_statement "pppiStack_ac = (int ***)uStack_90;" (assignment_expression "pppiStack_ac = (int ***)uStack_90" identifier = (cast_expression "(int ***)uStack_90" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_b0 = (int ***)iVar24;" (assignment_expression "pppiStack_b0 = (int ***)iVar24" identifier = (cast_expression "(int ***)iVar24" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);" (assignment_expression "pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7998))" ( (pointer_expression "**(code **)(puStack_98 + -0x7998)" * (pointer_expression "*(code **)(puStack_98 + -0x7998)" * (cast_expression "(code **)(puStack_98 + -0x7998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7998)" ( (binary_expression "puStack_98 + -0x7998" identifier + number_literal) ))))) )) (argument_list "(0,0xffffffff,pppiVar10[4],pppiVar10[2])" ( number_literal , number_literal , (subscript_expression "pppiVar10[4]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[2]" identifier [ number_literal ]) ))))) ;) (if_statement "if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x1)" ( (binary_expression "pppiVar10[9] == (int **)0x1" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4724" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" else (if_statement "if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x2)" ( (binary_expression "pppiVar10[9] == (int **)0x2" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x472c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })))) (if_statement "if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" if (parenthesized_expression "((int ****)pppiStack_ac == (int ****)0x0)" ( (binary_expression "(int ****)pppiStack_ac == (int ****)0x0" (cast_expression "(int ****)pppiStack_ac" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }" { (expression_statement "pppiStack_b0 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "(int)pcStack_88 + 0x48a4" (cast_expression "(int)pcStack_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" else (compound_statement "{\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" { (expression_statement "pppiStack_b0 = (int ***)(iVar7 + 0x4898);" (assignment_expression "pppiStack_b0 = (int ***)(iVar7 + 0x4898)" identifier = (cast_expression "(int ***)(iVar7 + 0x4898)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar7 + 0x4898)" ( (binary_expression "iVar7 + 0x4898" identifier + number_literal) )))) ;) (expression_statement "pppiStack_84 = pppiStack_ac;" (assignment_expression "pppiStack_84 = pppiStack_ac" identifier = identifier) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "(int)pcStack_88 + 0x48a4" (cast_expression "(int)pcStack_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) (labeled_statement "LAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);" statement_identifier : (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(pppiStack_84)" ( identifier ))) ;)) }))) }) (else_clause "else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" else (compound_statement "{\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" { (expression_statement "pppiStack_b0 = (int ***)pppiVar10[3];" (assignment_expression "pppiStack_b0 = (int ***)pppiVar10[3]" identifier = (cast_expression "(int ***)pppiVar10[3]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[3]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppiVar11 = ppppiVar22;" (assignment_expression "ppppiVar11 = ppppiVar22" identifier = identifier) ;) (expression_statement "ppppiVar17 = ppppiVar22;" (assignment_expression "ppppiVar17 = ppppiVar22" identifier = identifier) ;) (if_statement "if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }" if (parenthesized_expression "((int ****)pppiVar10[7] != (int ****)0x0)" ( (binary_expression "(int ****)pppiVar10[7] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[7]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[7]" identifier [ number_literal ])) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }" { (expression_statement "pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);" (assignment_expression "pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x45b8" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppiVar11 = (int ****)pppiVar10[7];" (assignment_expression "ppppiVar11 = (int ****)pppiVar10[7]" identifier = (cast_expression "(int ****)pppiVar10[7]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[7]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);" (assignment_expression "ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4720" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);" (assignment_expression "ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" identifier = (cast_expression "(int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4800" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (subscript_expression "pppiVar10[5]" identifier [ number_literal ]) , identifier , identifier ))))) ;) (if_statement "if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }" if (parenthesized_expression "(pppiVar10[1] == (int **)0x4c)" ( (binary_expression "pppiVar10[1] == (int **)0x4c" (subscript_expression "pppiVar10[1]" identifier [ number_literal ]) == (cast_expression "(int **)0x4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }" { (expression_statement "piStack_a4 = (int *)pppiVar10[9];" (assignment_expression "piStack_a4 = (int *)pppiVar10[9]" identifier = (cast_expression "(int *)pppiVar10[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppiVar10[9]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_a8 = pppiVar10 + 10;" (assignment_expression "pppiStack_a8 = pppiVar10 + 10" identifier = (binary_expression "pppiVar10 + 10" identifier + number_literal)) ;) (expression_statement "pppiStack_ac = (int ***)uStack_90;" (assignment_expression "pppiStack_ac = (int ***)uStack_90" identifier = (cast_expression "(int ***)uStack_90" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_b0 = (int ***)iVar24;" (assignment_expression "pppiStack_b0 = (int ***)iVar24" identifier = (cast_expression "(int ***)iVar24" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);" (assignment_expression "pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7998))" ( (pointer_expression "**(code **)(puStack_98 + -0x7998)" * (pointer_expression "*(code **)(puStack_98 + -0x7998)" * (cast_expression "(code **)(puStack_98 + -0x7998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7998)" ( (binary_expression "puStack_98 + -0x7998" identifier + number_literal) ))))) )) (argument_list "(pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" ( (subscript_expression "pppiVar10[5]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[3]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[4]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[2]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar11" identifier = (cast_expression "(int ***)ppppiVar11" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x1)" ( (binary_expression "pppiVar10[9] == (int **)0x1" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4724" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }" if (parenthesized_expression "((int ****)pppiStack_a8 == (int ****)0x0)" ( (binary_expression "(int ****)pppiStack_a8 == (int ****)0x0" (cast_expression "(int ****)pppiStack_a8" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }" { (expression_statement "iVar4 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar4 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00049828;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" else (compound_statement "{\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" { (if_statement "if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x2)" ( (binary_expression "pppiVar10[9] == (int **)0x2" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x472c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar4 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar4 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (if_statement "if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }" if (parenthesized_expression "((int ****)pppiStack_a8 == (int ****)0x0)" ( (binary_expression "(int ****)pppiStack_a8 == (int ****)0x0" (cast_expression "(int ****)pppiStack_a8" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }" { (labeled_statement "LAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;" statement_identifier : (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;)) (expression_statement "pppiStack_a8 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "iVar4 + 0x4870" identifier + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_00049208;" goto statement_identifier ;) })) }))) (expression_statement "pppiStack_ac = (int ***)(iVar7 + 0x4898);" (assignment_expression "pppiStack_ac = (int ***)(iVar7 + 0x4898)" identifier = (cast_expression "(int ***)(iVar7 + 0x4898)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar7 + 0x4898)" ( (binary_expression "iVar7 + 0x4898" identifier + number_literal) )))) ;) (expression_statement "pppiStack_84 = pppiStack_a8;" (assignment_expression "pppiStack_84 = pppiStack_a8" identifier = identifier) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4870" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_000495e0;" goto statement_identifier ;) })) (if_statement "if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;" if (parenthesized_expression "(pppiVar10[1] == (int **)0x44)" ( (binary_expression "pppiVar10[1] == (int **)0x44" (subscript_expression "pppiVar10[1]" identifier [ number_literal ]) == (cast_expression "(int **)0x44" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0004945c;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }" if (parenthesized_expression "(*(int *)(iVar24 + 0x13c) == 0)" ( (binary_expression "*(int *)(iVar24 + 0x13c) == 0" (pointer_expression "*(int *)(iVar24 + 0x13c)" * (cast_expression "(int *)(iVar24 + 0x13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }" { (if_statement "if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" if (parenthesized_expression "(*(int *)(iVar24 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar24 + 0x198) == 1" (pointer_expression "*(int *)(iVar24 + 0x198)" * (cast_expression "(int *)(iVar24 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x198)" ( (binary_expression "iVar24 + 0x198" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" { (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7eb4))" ( (pointer_expression "**(code **)(puStack_98 + -0x7eb4)" * (pointer_expression "*(code **)(puStack_98 + -0x7eb4)" * (cast_expression "(code **)(puStack_98 + -0x7eb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb4)" ( (binary_expression "puStack_98 + -0x7eb4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2cfc" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar24 + 0x13c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x13c) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" else (compound_statement "{\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" { (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7eb4))" ( (pointer_expression "**(code **)(puStack_98 + -0x7eb4)" * (pointer_expression "*(code **)(puStack_98 + -0x7eb4)" * (cast_expression "(code **)(puStack_98 + -0x7eb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb4)" ( (binary_expression "puStack_98 + -0x7eb4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2da0" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar24 + 0x13c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x13c) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) = identifier) ;) }))) })) (expression_statement "ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);" (assignment_expression "ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" identifier = (cast_expression "(int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f68)" * (pointer_expression "*(code **)(puStack_98 + -0x7f68)" * (cast_expression "(code **)(puStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f68)" ( (binary_expression "puStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(1,0x1c)" ( number_literal , number_literal ))))) ;) (expression_statement "ppiVar12 = pppiVar10[5];" (assignment_expression "ppiVar12 = pppiVar10[5]" identifier = (subscript_expression "pppiVar10[5]" identifier [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7f60);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7f60)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "ppppiVar20[5] = (int ***)0x0;" (assignment_expression "ppppiVar20[5] = (int ***)0x0" (subscript_expression "ppppiVar20[5]" identifier [ number_literal ]) = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppiVar13 = (int ***)(*pcVar27)(ppiVar12);" (assignment_expression "pppiVar13 = (int ***)(*pcVar27)(ppiVar12)" identifier = (cast_expression "(int ***)(*pcVar27)(ppiVar12)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(*pcVar27)(ppiVar12)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(ppiVar12)" ( identifier ))))) ;) (expression_statement "pppiVar14 = (int ***)pppiVar10[3];" (assignment_expression "pppiVar14 = (int ***)pppiVar10[3]" identifier = (cast_expression "(int ***)pppiVar10[3]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[3]" identifier [ number_literal ]))) ;) (expression_statement "ppiVar12 = pppiVar10[4];" (assignment_expression "ppiVar12 = pppiVar10[4]" identifier = (subscript_expression "pppiVar10[4]" identifier [ number_literal ])) ;) (expression_statement "ppppiVar20[3] = pppiVar13;" (assignment_expression "ppppiVar20[3] = pppiVar13" (subscript_expression "ppppiVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppiVar20[1] = pppiVar14;" (assignment_expression "ppppiVar20[1] = pppiVar14" (subscript_expression "ppppiVar20[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" if (parenthesized_expression "(ppiVar12 == (int **)0x0)" ( (binary_expression "ppiVar12 == (int **)0x0" identifier == (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }" { (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f3c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f3c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f3c)" * (cast_expression "(code **)(puStack_98 + -0x7f3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f3c)" ( (binary_expression "puStack_98 + -0x7f3c" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }" { (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47e4" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" else (compound_statement "{\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" { (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(ppppiVar22)" ( identifier ))))) ;) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" else (compound_statement "{\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" { (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))()" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f60))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" * (cast_expression "(code **)(puStack_98 + -0x7ebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ebc)" ( (binary_expression "puStack_98 + -0x7ebc" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x13c);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x13c)" identifier = (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) ))))) ;) (expression_statement "*ppppiVar20 = (int ***)pppiVar10[2];" (assignment_expression "*ppppiVar20 = (int ***)pppiVar10[2]" (pointer_expression "*ppppiVar20" * identifier) = (cast_expression "(int ***)pppiVar10[2]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);" (assignment_expression "ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20)" identifier = (cast_expression "(int ****)(*pcVar27)(uVar5,ppppiVar20)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar27)(uVar5,ppppiVar20)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar5,ppppiVar20)" ( identifier , identifier ))))) ;) (if_statement "if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" if (parenthesized_expression "(ppppiVar20 == ppppiVar15)" ( (binary_expression "ppppiVar20 == ppppiVar15" identifier == identifier) )) (compound_statement "{\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }" { (expression_statement "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);" (call_expression "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4838" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "ppppiVar15 = *(int *****)(iVar24 + 0x198);" (assignment_expression "ppppiVar15 = *(int *****)(iVar24 + 0x198)" identifier = (pointer_expression "*(int *****)(iVar24 + 0x198)" * (cast_expression "(int *****)(iVar24 + 0x198)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar24 + 0x198)" ( (binary_expression "iVar24 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "ppppiVar20[4] = unaff_s2;" (assignment_expression "ppppiVar20[4] = unaff_s2" (subscript_expression "ppppiVar20[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppiVar10[8] = (int **)ppppiVar20;" (assignment_expression "pppiVar10[8] = (int **)ppppiVar20" (subscript_expression "pppiVar10[8]" identifier [ number_literal ]) = (cast_expression "(int **)ppppiVar20" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppppiVar20[6] = pppiVar10;" (assignment_expression "ppppiVar20[6] = pppiVar10" (subscript_expression "ppppiVar20[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" if (parenthesized_expression "(ppppiVar15 == (int ****)0x1)" ( (binary_expression "ppppiVar15 == (int ****)0x1" identifier == (cast_expression "(int ****)0x1" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" { (expression_statement "uStack_a0 = 0;" (assignment_expression "uStack_a0 = 0" identifier = number_literal) ;) (expression_statement "piStack_a4 = (int *)pppiVar10[3];" (assignment_expression "piStack_a4 = (int *)pppiVar10[3]" identifier = (cast_expression "(int *)pppiVar10[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppiVar10[3]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s2 = (int ***)0x0;" (assignment_expression "unaff_s2 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppiStack_ac = (int ***)pppiVar10[5];" (assignment_expression "pppiStack_ac = (int ***)pppiVar10[5]" identifier = (cast_expression "(int ***)pppiVar10[5]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[5]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_b0 = (int ***)0x4;" (assignment_expression "pppiStack_b0 = (int ***)0x4" identifier = (cast_expression "(int ***)0x4" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppiStack_a8 = (int ***)ppppiVar15;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar15" identifier = (cast_expression "(int ***)ppppiVar15" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);" (call_expression "FUN_00048a74(iVar24,0x1c,1,pppiVar10[2])" identifier (argument_list "(iVar24,0x1c,1,pppiVar10[2])" ( identifier , number_literal , number_literal , (subscript_expression "pppiVar10[2]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppiVar15 = (int ****)0xf;" (assignment_expression "ppppiVar15 = (int ****)0xf" identifier = (cast_expression "(int ****)0xf" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar20" identifier = (cast_expression "(int ***)ppppiVar20" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);" (call_expression "FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" identifier (argument_list "(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2a68" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" else (compound_statement "{\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" { (expression_statement "uVar5 = FUN_0003a5ec(0x50);" (assignment_expression "uVar5 = FUN_0003a5ec(0x50)" identifier = (call_expression "FUN_0003a5ec(0x50)" identifier (argument_list "(0x50)" ( number_literal )))) ;) (expression_statement "FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);" (call_expression "FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860)" identifier (argument_list "(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4860" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uStack_61 = 1;" (assignment_expression "uStack_61 = 1" identifier = number_literal) ;) (expression_statement "FUN_0003a494(uVar5,&uStack_61,1);" (call_expression "FUN_0003a494(uVar5,&uStack_61,1)" identifier (argument_list "(uVar5,&uStack_61,1)" ( identifier , (pointer_expression "&uStack_61" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003a7dc(uVar5,ppppiVar20[2]);" (call_expression "FUN_0003a7dc(uVar5,ppppiVar20[2])" identifier (argument_list "(uVar5,ppppiVar20[2])" ( identifier , (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a76c(uVar5,*ppppiVar20);" (call_expression "FUN_0003a76c(uVar5,*ppppiVar20)" identifier (argument_list "(uVar5,*ppppiVar20)" ( identifier , (pointer_expression "*ppppiVar20" * identifier) ))) ;) (expression_statement "unaff_s2 = (int ***)0x0;" (assignment_expression "unaff_s2 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_00045998(iVar24,uVar5);" (call_expression "FUN_00045998(iVar24,uVar5)" identifier (argument_list "(iVar24,uVar5)" ( identifier , identifier ))) ;) (expression_statement "ppppiVar15 = (int ****)0x52;" (assignment_expression "ppppiVar15 = (int ****)0x52" identifier = (cast_expression "(int ****)0x52" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar20" identifier = (cast_expression "(int ***)ppppiVar20" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);" (call_expression "FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" identifier (argument_list "(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2a68" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) ))) ;) }))) }) (else_clause "else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" else (compound_statement "{\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" { (expression_statement "ppppiVar15 = (int ****)pppiVar10[5];" (assignment_expression "ppppiVar15 = (int ****)pppiVar10[5]" identifier = (cast_expression "(int ****)pppiVar10[5]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[5]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);" (call_expression "(*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3])" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3])" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x480c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , (subscript_expression "pppiVar10[3]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);" statement_identifier : (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(unaff_s2);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(unaff_s2)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;)) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar11)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar11)" ( identifier ))) ;) })) (expression_statement "pppiVar23 = (int ***)((int)pppiVar23 + 1);" (assignment_expression "pppiVar23 = (int ***)((int)pppiVar23 + 1)" identifier = (cast_expression "(int ***)((int)pppiVar23 + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppiVar23 + 1)" ( (binary_expression "(int)pppiVar23 + 1" (cast_expression "(int)pppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = pppiVar23;" (assignment_expression "pppiVar13 = pppiVar23" identifier = identifier) ;) (expression_statement "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();" (assignment_expression "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))()" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7ea8))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto joined_r0x0004902c;" goto statement_identifier ;) (labeled_statement "LAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_5c == *piStack_74) {\n    return;\n  }" if (parenthesized_expression "(iStack_5c == *piStack_74)" ( (binary_expression "iStack_5c == *piStack_74" identifier == (pointer_expression "*piStack_74" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x74e0);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x74e0)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x74e0)" * (cast_expression "(code **)(puStack_98 + -0x74e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x74e0)" ( (binary_expression "puStack_98 + -0x74e0" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = FUN_00049944;" (assignment_expression "pcVar28 = FUN_00049944" identifier = identifier) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar27 + 0x6e80c;" (assignment_expression "pcStack_e8 = pcVar27 + 0x6e80c" identifier = (binary_expression "pcVar27 + 0x6e80c" identifier + number_literal)) ;) (expression_statement "*(int ****)(iVar4 + 0x11c) = pppiVar13;" (assignment_expression "*(int ****)(iVar4 + 0x11c) = pppiVar13" (pointer_expression "*(int ****)(iVar4 + 0x11c)" * (cast_expression "(int ****)(iVar4 + 0x11c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar4 + 0x11c)" ( (binary_expression "iVar4 + 0x11c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *****)(iVar4 + 0x120) = ppppiVar15;" (assignment_expression "*(int *****)(iVar4 + 0x120) = ppppiVar15" (pointer_expression "*(int *****)(iVar4 + 0x120)" * (cast_expression "(int *****)(iVar4 + 0x120)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar4 + 0x120)" ( (binary_expression "iVar4 + 0x120" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar9 = *(int **)(pcVar27 + 0x67358);" (assignment_expression "piVar9 = *(int **)(pcVar27 + 0x67358)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x67358)" * (cast_expression "(int **)(pcVar27 + 0x67358)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x67358)" ( (binary_expression "pcVar27 + 0x67358" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iStack_dc = iVar7;" (assignment_expression "iStack_dc = iVar7" identifier = identifier) ;) (expression_statement "ppiStack_d8 = (int **)pppiVar23;" (assignment_expression "ppiStack_d8 = (int **)pppiVar23" identifier = (cast_expression "(int **)pppiVar23" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pppiStack_d4 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_d4 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppiStack_d0 = (int **)unaff_s2;" (assignment_expression "ppiStack_d0 = (int **)unaff_s2" identifier = (cast_expression "(int **)unaff_s2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iStack_cc = iVar24;" (assignment_expression "iStack_cc = iVar24" identifier = identifier) ;) (expression_statement "pppiStack_c8 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_c8 = (int ***)ppppiVar11" identifier = (cast_expression "(int ***)ppppiVar11" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_c4 = pcVar28;" (assignment_expression "pcStack_c4 = pcVar28" identifier = identifier) ;) (if_statement "if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x144) == 2)" ( (binary_expression "*(int *)(iVar4 + 0x144) == 2" (pointer_expression "*(int *)(iVar4 + 0x144)" * (cast_expression "(int *)(iVar4 + 0x144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x144)" ( (binary_expression "iVar4 + 0x144" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }" { (expression_statement "*(undefined4 *)(iVar4 + 0x148) = 1;" (assignment_expression "*(undefined4 *)(iVar4 + 0x148) = 1" (pointer_expression "*(undefined4 *)(iVar4 + 0x148)" * (cast_expression "(undefined4 *)(iVar4 + 0x148)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x148)" ( (binary_expression "iVar4 + 0x148" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" else (if_statement "if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x144) == 3)" ( (binary_expression "*(int *)(iVar4 + 0x144) == 3" (pointer_expression "*(int *)(iVar4 + 0x144)" * (cast_expression "(int *)(iVar4 + 0x144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x144)" ( (binary_expression "iVar4 + 0x144" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" { (expression_statement "pppiVar13 = (int ***)0x16;" (assignment_expression "pppiVar13 = (int ***)0x16" identifier = (cast_expression "(int ***)0x16" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x248);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x248)" identifier = (pointer_expression "*(int *)(iVar4 + 0x248)" * (cast_expression "(int *)(iVar4 + 0x248)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x248)" ( (binary_expression "iVar4 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);" (assignment_expression "iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16)" identifier = (call_expression "(**(code **)(pcVar27 + 0x668d0))(iVar7,0x16)" (parenthesized_expression "(**(code **)(pcVar27 + 0x668d0))" ( (pointer_expression "**(code **)(pcVar27 + 0x668d0)" * (pointer_expression "*(code **)(pcVar27 + 0x668d0)" * (cast_expression "(code **)(pcVar27 + 0x668d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x668d0)" ( (binary_expression "pcVar27 + 0x668d0" identifier + number_literal) ))))) )) (argument_list "(iVar7,0x16)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }" { (expression_statement "iVar8 = *(int *)(iVar4 + 0x198);" (assignment_expression "iVar8 = *(int *)(iVar4 + 0x198)" identifier = (pointer_expression "*(int *)(iVar4 + 0x198)" * (cast_expression "(int *)(iVar4 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x198)" ( (binary_expression "iVar4 + 0x198" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }" { (expression_statement "uStack_104 = *(undefined4 *)(iVar4 + 0x11c);" (assignment_expression "uStack_104 = *(undefined4 *)(iVar4 + 0x11c)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0x11c)" * (cast_expression "(undefined4 *)(iVar4 + 0x11c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x11c)" ( (binary_expression "iVar4 + 0x11c" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = (int ***)0xb;" (assignment_expression "pppiVar13 = (int ***)0xb" identifier = (cast_expression "(int ***)0xb" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "uStack_f0 = 0;" (assignment_expression "uStack_f0 = 0" identifier = number_literal) ;) (expression_statement "uStack_f4 = 0;" (assignment_expression "uStack_f4 = 0" identifier = number_literal) ;) (expression_statement "uStack_fc = 0;" (assignment_expression "uStack_fc = 0" identifier = number_literal) ;) (expression_statement "iVar7 = iVar4;" (assignment_expression "iVar7 = iVar4" identifier = identifier) ;) (expression_statement "iStack_108 = iVar8;" (assignment_expression "iStack_108 = iVar8" identifier = identifier) ;) (expression_statement "iStack_100 = iVar8;" (assignment_expression "iStack_100 = iVar8" identifier = identifier) ;) (expression_statement "iStack_f8 = iVar8;" (assignment_expression "iStack_f8 = iVar8" identifier = identifier) ;) (expression_statement "FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));" (call_expression "FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120))" identifier (argument_list "(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120))" ( identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x120)" * (cast_expression "(undefined4 *)(iVar4 + 0x120)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x120)" ( (binary_expression "iVar4 + 0x120" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" else (compound_statement "{\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" { (expression_statement "iVar7 = *(int *)(iVar4 + 0x128);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x128)" identifier = (pointer_expression "*(int *)(iVar4 + 0x128)" * (cast_expression "(int *)(iVar4 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x128)" ( (binary_expression "iVar4 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);" (assignment_expression "pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8)" identifier = (pointer_expression "*(int ****)(pcStack_e8 + -0x7fc8)" * (cast_expression "(int ****)(pcStack_e8 + -0x7fc8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(pcStack_e8 + -0x7fc8)" ( (binary_expression "pcStack_e8 + -0x7fc8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }" { (expression_statement "ppppiVar11 = (int ****)&ppiStack_e0;" (assignment_expression "ppppiVar11 = (int ****)&ppiStack_e0" identifier = (cast_expression "(int ****)&ppiStack_e0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&ppiStack_e0" & identifier))) ;) (expression_statement "unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);" (assignment_expression "unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" identifier = (cast_expression "(int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" identifier (argument_list "(iVar7,pppiVar13 + 0x1235,0,0)" ( identifier , (binary_expression "pppiVar13 + 0x1235" identifier + number_literal) , number_literal , number_literal ))))) ;) (expression_statement "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));" (call_expression "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c))" identifier (argument_list "(unaff_s2,*(undefined4 *)(iVar4 + 0x11c))" ( identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x11c)" * (cast_expression "(undefined4 *)(iVar4 + 0x11c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x11c)" ( (binary_expression "iVar4 + 0x11c" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));" (call_expression "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120))" identifier (argument_list "(unaff_s2,*(undefined4 *)(iVar4 + 0x120))" ( identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x120)" * (cast_expression "(undefined4 *)(iVar4 + 0x120)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x120)" ( (binary_expression "iVar4 + 0x120" identifier + number_literal) )))) ))) ;) (expression_statement "iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;" (assignment_expression "iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c" identifier = (binary_expression "*(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c" (pointer_expression "*(int *)(pcStack_e8 + -0x7b0c)" * (cast_expression "(int *)(pcStack_e8 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_e8 + -0x7b0c)" ( (binary_expression "pcStack_e8 + -0x7b0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppiStack_e0 = (int **)0x0;" (assignment_expression "ppiStack_e0 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_0003a494(unaff_s2,ppppiVar11,4);" (call_expression "FUN_0003a494(unaff_s2,ppppiVar11,4)" identifier (argument_list "(unaff_s2,ppppiVar11,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "ppiStack_e0 = (int **)0x0;" (assignment_expression "ppiStack_e0 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_0003a494(unaff_s2,ppppiVar11,4);" (call_expression "FUN_0003a494(unaff_s2,ppppiVar11,4)" identifier (argument_list "(unaff_s2,ppppiVar11,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar7 = iVar4;" (assignment_expression "iVar7 = iVar4" identifier = identifier) ;) (expression_statement "pppiVar13 = unaff_s2;" (assignment_expression "pppiVar13 = unaff_s2" identifier = identifier) ;) (expression_statement "FUN_00045998(iVar4,unaff_s2);" (call_expression "FUN_00045998(iVar4,unaff_s2)" identifier (argument_list "(iVar4,unaff_s2)" ( identifier , identifier ))) ;) })) }))) })) })))) (if_statement "if (iStack_dc == *piVar9) {\n    return;\n  }" if (parenthesized_expression "(iStack_dc == *piVar9)" ( (binary_expression "iStack_dc == *piVar9" identifier == (pointer_expression "*piVar9" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar27 = *(code **)(pcStack_e8 + -0x74e0);" (assignment_expression "pcVar27 = *(code **)(pcStack_e8 + -0x74e0)" identifier = (pointer_expression "*(code **)(pcStack_e8 + -0x74e0)" * (cast_expression "(code **)(pcStack_e8 + -0x74e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x74e0)" ( (binary_expression "pcStack_e8 + -0x74e0" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 0x49af8;" (assignment_expression "uVar5 = 0x49af8" identifier = number_literal) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar25 = *(int **)(pcVar27 + 0x671a4);" (assignment_expression "piVar25 = *(int **)(pcVar27 + 0x671a4)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x671a4)" * (cast_expression "(int **)(pcVar27 + 0x671a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x671a4)" ( (binary_expression "pcVar27 + 0x671a4" identifier + number_literal) ))))) ;) (expression_statement "iStack_13c = *piVar25;" (assignment_expression "iStack_13c = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "iStack_138 = iVar4;" (assignment_expression "iStack_138 = iVar4" identifier = identifier) ;) (expression_statement "piStack_134 = piVar9;" (assignment_expression "piStack_134 = piVar9" identifier = identifier) ;) (expression_statement "ppiStack_130 = (int **)unaff_s2;" (assignment_expression "ppiStack_130 = (int **)unaff_s2" identifier = (cast_expression "(int **)unaff_s2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iStack_12c = iVar24;" (assignment_expression "iStack_12c = iVar24" identifier = identifier) ;) (expression_statement "pppiStack_128 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_128 = (int ***)ppppiVar11" identifier = (cast_expression "(int ***)ppppiVar11" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_124 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_124 = (int ***)ppppiVar20" identifier = (cast_expression "(int ***)ppppiVar20" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_120 = iVar19;" (assignment_expression "iStack_120 = iVar19" identifier = identifier) ;) (expression_statement "uStack_11c = uVar5;" (assignment_expression "uStack_11c = uVar5" identifier = identifier) ;) (expression_statement "iVar24 = FUN_00036188(pppiVar13);" (assignment_expression "iVar24 = FUN_00036188(pppiVar13)" identifier = (call_expression "FUN_00036188(pppiVar13)" identifier (argument_list "(pppiVar13)" ( identifier )))) ;) (expression_statement "FUN_00036ca4();" (call_expression "FUN_00036ca4()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = FUN_00036188(pppiVar13);" (assignment_expression "uVar5 = FUN_00036188(pppiVar13)" identifier = (call_expression "FUN_00036188(pppiVar13)" identifier (argument_list "(pppiVar13)" ( identifier )))) ;) (if_statement "if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }" if (parenthesized_expression "(iStack_15c == 0)" ( (binary_expression "iStack_15c == 0" identifier == number_literal) )) (compound_statement "{\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }" { (expression_statement "iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;" (assignment_expression "iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54" identifier = (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x2d54" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);" (assignment_expression "iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" identifier = (call_expression "(**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666ec))" ( (pointer_expression "**(code **)(pcVar27 + 0x666ec)" * (pointer_expression "*(code **)(pcVar27 + 0x666ec)" * (cast_expression "(code **)(pcVar27 + 0x666ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666ec)" ( (binary_expression "pcVar27 + 0x666ec" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" ( (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x3218" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uStack_154 = uVar5;" (assignment_expression "uStack_154 = uVar5" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" identifier = (call_expression "(**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" (parenthesized_expression "(**(code **)(pcVar27 + 0x667c0))" ( (pointer_expression "**(code **)(pcVar27 + 0x667c0)" * (pointer_expression "*(code **)(pcVar27 + 0x667c0)" * (cast_expression "(code **)(pcVar27 + 0x667c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x667c0)" ( (binary_expression "pcVar27 + 0x667c0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x13c)" * (cast_expression "(undefined4 *)(iVar7 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x13c)" ( (binary_expression "iVar7 + 0x13c" identifier + number_literal) )))) , identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }" { (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5)" identifier (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x48e4" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" else (compound_statement "{\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" { (expression_statement "piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" identifier = (cast_expression "(int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666f0))" ( (pointer_expression "**(code **)(pcVar27 + 0x666f0)" * (pointer_expression "*(code **)(pcVar27 + 0x666f0)" * (cast_expression "(code **)(pcVar27 + 0x666f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666f0)" ( (binary_expression "pcVar27 + 0x666f0" identifier + number_literal) ))))) )) (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "*piVar9 = iVar7;" (assignment_expression "*piVar9 = iVar7" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5)" identifier (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x4910" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" identifier = (call_expression "(**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" (parenthesized_expression "(**(code **)(pcVar27 + 0x66cac))" ( (pointer_expression "**(code **)(pcVar27 + 0x66cac)" * (pointer_expression "*(code **)(pcVar27 + 0x66cac)" * (cast_expression "(code **)(pcVar27 + 0x66cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66cac)" ( (binary_expression "pcVar27 + 0x66cac" identifier + number_literal) ))))) )) (argument_list "(piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" ( (binary_expression "piVar9 + 0x13" identifier + number_literal) , identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(iVar7 + 0x248)" * (cast_expression "(undefined4 *)(iVar7 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x248)" ( (binary_expression "iVar7 + 0x248" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" * (cast_expression "(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x18) + 0x24)" ( (binary_expression "*(int *)(iVar4 + 0x18) + 0x24" (pointer_expression "*(int *)(iVar4 + 0x18)" * (cast_expression "(int *)(iVar4 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x18)" ( (binary_expression "iVar4 + 0x18" identifier + number_literal) )))) + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }" { (expression_statement "FUN_0003d798(piVar9);" (call_expression "FUN_0003d798(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) (expression_statement "piVar9[3] = 3;" (assignment_expression "piVar9[3] = 3" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[1] = iVar24;" (assignment_expression "piVar9[1] = iVar24" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);" (call_expression "FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0)" identifier (argument_list "(iVar7,0x15,1,iVar24,1,piVar9[2],0)" ( identifier , number_literal , number_literal , identifier , number_literal , (subscript_expression "piVar9[2]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;" (assignment_expression "iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8" identifier = (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x41e8" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);" (call_expression "(**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66714))" ( (pointer_expression "**(code **)(pcVar27 + 0x66714)" * (pointer_expression "*(code **)(pcVar27 + 0x66714)" * (cast_expression "(code **)(pcVar27 + 0x66714)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66714)" ( (binary_expression "pcVar27 + 0x66714" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar7 + 0x110),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x110)" * (cast_expression "(undefined4 *)(iVar7 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x110)" ( (binary_expression "iVar7 + 0x110" identifier + number_literal) )))) , identifier ))) ;) (goto_statement "goto LAB_00049cac;" goto statement_identifier ;) })) (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4)" identifier (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x41d0" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar27 + 0x666b8))(iVar4);" (call_expression "(**(code **)(pcVar27 + 0x666b8))(iVar4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar27 + 0x666b8)" * (pointer_expression "*(code **)(pcVar27 + 0x666b8)" * (cast_expression "(code **)(pcVar27 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666b8)" ( (binary_expression "pcVar27 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar27 + 0x666b8))(piVar9);" (call_expression "(**(code **)(pcVar27 + 0x666b8))(piVar9)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar27 + 0x666b8)" * (pointer_expression "*(code **)(pcVar27 + 0x666b8)" * (cast_expression "(code **)(pcVar27 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666b8)" ( (binary_expression "pcVar27 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier ))) ;) }))) (expression_statement "iVar4 = 0x16;" (assignment_expression "iVar4 = 0x16" identifier = number_literal) ;) (expression_statement "FUN_00048a74(iVar7,0x16,1,iVar24,0);" (call_expression "FUN_00048a74(iVar7,0x16,1,iVar24,0)" identifier (argument_list "(iVar7,0x16,1,iVar24,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (labeled_statement "LAB_00049cac:\n  iVar24 = iStack_14c;" statement_identifier : (expression_statement "iVar24 = iStack_14c;" (assignment_expression "iVar24 = iStack_14c" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar27 + 0x666b8))();" (call_expression "(**(code **)(pcVar27 + 0x666b8))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar27 + 0x666b8)" * (pointer_expression "*(code **)(pcVar27 + 0x666b8)" * (cast_expression "(code **)(pcVar27 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666b8)" ( (binary_expression "pcVar27 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_13c == *piVar25) {\n    return;\n  }" if (parenthesized_expression "(iStack_13c == *piVar25)" ( (binary_expression "iStack_13c == *piVar25" identifier == (pointer_expression "*piVar25" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x67178);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x67178)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x67178)" * (cast_expression "(code **)(pcVar27 + 0x67178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x67178)" ( (binary_expression "pcVar27 + 0x67178" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = FUN_00036188(iVar4);" (assignment_expression "iVar4 = FUN_00036188(iVar4)" identifier = (call_expression "FUN_00036188(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" ( (pointer_expression "**(code **)(pcVar27 + 0x66468)" * (pointer_expression "*(code **)(pcVar27 + 0x66468)" * (cast_expression "(code **)(pcVar27 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66468)" ( (binary_expression "pcVar27 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" * (cast_expression "(undefined4 *)(iVar24 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x110)" ( (binary_expression "iVar24 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x493c" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" * (cast_expression "(int *)(pcVar27 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x663e4)" ( (binary_expression "pcVar27 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar24 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar24 + 0x4c) == 0" (pointer_expression "*(int *)(iVar24 + 0x4c)" * (cast_expression "(int *)(iVar24 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x4c)" ( (binary_expression "iVar24 + 0x4c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }" { (expression_statement "FUN_00048a74(iVar24,0x16,1,iVar4,0);" (call_expression "FUN_00048a74(iVar24,0x16,1,iVar4,0)" identifier (argument_list "(iVar24,0x16,1,iVar4,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) comment comment (expression_statement "(**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" ( (pointer_expression "**(code **)(pcVar27 + 0x66468)" * (pointer_expression "*(code **)(pcVar27 + 0x66468)" * (cast_expression "(code **)(pcVar27 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66468)" ( (binary_expression "pcVar27 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" * (cast_expression "(undefined4 *)(iVar24 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x110)" ( (binary_expression "iVar24 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x495c" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" * (cast_expression "(int *)(pcVar27 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x663e4)" ( (binary_expression "pcVar27 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c)" identifier = (cast_expression "(int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar27 + 0x66444))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66444))" ( (pointer_expression "**(code **)(pcVar27 + 0x66444)" * (pointer_expression "*(code **)(pcVar27 + 0x66444)" * (cast_expression "(code **)(pcVar27 + 0x66444)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66444)" ( (binary_expression "pcVar27 + 0x66444" identifier + number_literal) ))))) )) (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "*piVar9 = iVar24;" (assignment_expression "*piVar9 = iVar24" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "FUN_0003d798(piVar9);" (call_expression "FUN_0003d798(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) (expression_statement "iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);" (assignment_expression "iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" identifier = (call_expression "(**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar27 + 0x669fc))" ( (pointer_expression "**(code **)(pcVar27 + 0x669fc)" * (pointer_expression "*(code **)(pcVar27 + 0x669fc)" * (cast_expression "(code **)(pcVar27 + 0x669fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x669fc)" ( (binary_expression "pcVar27 + 0x669fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x194)" * (cast_expression "(undefined4 *)(iVar24 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x194)" ( (binary_expression "iVar24 + 0x194" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "piVar9[0x13] = iVar19;" (assignment_expression "piVar9[0x13] = iVar19" (subscript_expression "piVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[1] = iVar4;" (assignment_expression "piVar9[1] = iVar4" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 1;" (assignment_expression "piVar9[3] = 1" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);" (call_expression "FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0)" identifier (argument_list "(iVar24,0x15,1,iVar4,1,piVar9[2],0)" ( identifier , number_literal , number_literal , identifier , number_literal , (subscript_expression "piVar9[2]" identifier [ number_literal ]) , number_literal ))) ;) comment comment (expression_statement "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" ( (pointer_expression "**(code **)(pcVar27 + 0x66468)" * (pointer_expression "*(code **)(pcVar27 + 0x66468)" * (cast_expression "(code **)(pcVar27 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66468)" ( (binary_expression "pcVar27 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" * (cast_expression "(undefined4 *)(iVar24 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x110)" ( (binary_expression "iVar24 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x4240" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" * (cast_expression "(int *)(pcVar27 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x663e4)" ( (binary_expression "pcVar27 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid send_packet(Ssh_conflict ssh,int pkttype,...)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  Packet *pPVar5;\n  int *piVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  cmpfn234 p_Var20;\n  ulong uVar21;\n  ulong uVar22;\n  ssh_channel *psVar23;\n  bufchain_granule *pbVar24;\n  Ssh_conflict psVar25;\n  tree234 *ptVar26;\n  Ssh_conflict ssh_00;\n  Packet *pkt;\n  va_list in_a2;\n  node234_conflict *pnVar27;\n  node234_conflict *pnVar28;\n  undefined4 in_a3;\n  node234_conflict *pnVar29;\n  node234_conflict *pnVar30;\n  Packet *pPVar31;\n  char *pcVar32;\n  uint unaff_s2;\n  uint uVar33;\n  undefined *puVar34;\n  code *pcVar35;\n  code *pcVar36;\n  va_list local_res8;\n  undefined4 local_resc;\n  int iStack_160;\n  char *pcStack_15c;\n  undefined1 auStack_158 [4];\n  ulong uStack_154;\n  Ssh_conflict psStack_14c;\n  int iStack_13c;\n  tree234 *ptStack_138;\n  int *piStack_134;\n  uint uStack_130;\n  Ssh_conflict psStack_12c;\n  undefined4 uStack_128;\n  int *piStack_124;\n  int iStack_120;\n  code *pcStack_11c;\n  code *pcStack_e8;\n  Ssh_conflict psStack_dc;\n  Packet *pPStack_d8;\n  node234_conflict *pnStack_d4;\n  uint uStack_d0;\n  Ssh_conflict psStack_cc;\n  undefined4 uStack_c8;\n  code *pcStack_c4;\n  int iStack_84;\n  undefined1 uStack_61;\n  node234_conflict *pnStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  Ssh_conflict psStack_54;\n  va_list ap;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  pPVar5 = construct_packet((Ssh_conflict)pkttype,(int)&local_res8,in_a2);\n  psVar25 = ssh;\n  s_wrpkt(ssh,pPVar5);\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  piVar6 = *(int **)(puVar34 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piVar6;\n  ptVar26 = psVar25->portfwds;\n  iVar4 = 0;\n  psStack_54 = ssh;\n  if (ptVar26 == (tree234 *)0x0) {\n    ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58);\n    psVar25->portfwds = ptVar26;\n  }\n  else {\n    pcVar35 = *(code **)(puVar34 + 0x67790);\n    while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }\n  }\n  pnVar27 = (node234_conflict *)0x0;\n  iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60);\n  if (iVar4 != 0) {\n    iVar8 = *(int *)(puVar34 + 0x67670);\n    iVar9 = *(int *)(puVar34 + 0x67670);\n    iVar10 = *(int *)(puVar34 + 0x679ac);\n    iVar11 = *(int *)(puVar34 + 0x67670);\n    iVar12 = *(int *)(puVar34 + 0x67670);\n    do {\n      uVar33 = (uint)*(char *)&pnStack_60->parent;\n      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }\n      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);\n      pnVar30 = pnVar27;\n      if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }\n      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }\n      if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n      pnVar27 = pnStack_60;\n      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);\n    } while (iVar4 != 0);\n  }\n  iVar8 = *(int *)(puVar34 + 0x67b2c);\n  iVar4 = 0;\n  iVar11 = *(int *)(puVar34 + 0x67670);\n  iVar10 = *(int *)(puVar34 + 0x67670);\n  iVar9 = *(int *)(puVar34 + 0x67b2c);\n  do {\n    piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    while( true ) {\n      if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar17 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    }\n    if (piVar17[1] == 0x4c) {\n      iVar13 = piVar17[4];\n      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;\n      if (iVar13 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;\n    }\n    else {\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }\n    pnVar27 = (node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15);\n    pnVar30 = pnVar27;\n    if (piVar17[1] != 0x44) {\n      pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);\n      (**(code **)(puVar34 + 0x67698))(pnVar27);\n    }\n    pnVar27 = pnVar30;\n    logeventf(psVar25,(char *)(iVar10 + 0x47bc));\n    (**(code **)(puVar34 + 0x67698))(pnVar30);\n    iVar12 = piVar17[8];\n    if (iVar12 == 0) {\n      if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }\n    }\n    else {\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }\n    (**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4);\n    (**(code **)(puVar34 + 0x67698))(piVar17[4]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n    (**(code **)(puVar34 + 0x67698))(piVar17);\n  } while( true );\njoined_r0x0004902c:\n  if (piVar18 == (int *)0x0) goto LAB_00049064;\n  if (*piVar18 == 2) {\n    pnVar27 = pnVar30;\n    pnVar28 = pnVar30;\n    if ((node234_conflict *)piVar18[4] != (node234_conflict *)0x0) {\n      pnVar27 = (node234_conflict *)piVar18[4];\n      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);\n    }\n    pnVar29 = pnVar30;\n    if ((node234_conflict *)piVar18[6] != (node234_conflict *)0x0) {\n      pnVar29 = (node234_conflict *)piVar18[6];\n    }\n    unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29);\n    pnVar27 = pnVar30;\n    if (piVar18[1] == 0x44) {\n      uVar14 = 0;\nLAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);\n      if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }\n      if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }\n    }\n    else {\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puVar34 + 0x67698))(unaff_s2);\n    (**(code **)(puVar34 + 0x67698))(uVar14);\n  }\n  pPVar31 = (Packet *)((int)&pPVar31->length + 1);\n  ptVar26 = psVar25->portfwds;\n  pkt = pPVar31;\n  piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piVar6) {\n    return;\n  }\n  pcVar35 = *(code **)(puVar34 + 0x68158);\n  pcVar36 = ssh_size;\n  (*pcVar35)();\n  pcStack_e8 = pcVar35 + 0x6e80c;\n  p_Var20 = ptVar26[0x28].cmp;\n  ptVar26[0x23].cmp = (cmpfn234)pkt;\n  ptVar26[0x24].root = pnVar27;\n  piVar6 = *(int **)(pcVar35 + 0x67358);\n  ssh_00 = (Ssh_conflict)*piVar6;\n  psStack_dc = ssh_00;\n  pPStack_d8 = pPVar31;\n  pnStack_d4 = pnVar30;\n  uStack_d0 = unaff_s2;\n  psStack_cc = psVar25;\n  uStack_c8 = uVar14;\n  pcStack_c4 = pcVar36;\n  if (p_Var20 == (cmpfn234)0x2) {\n    ptVar26[0x29].root = (node234_conflict *)0x1;\n  }\n  else if (p_Var20 == (cmpfn234)0x3) {\n    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);\n    return;\n  }\n  if (ssh_00 == (Ssh_conflict)*piVar6) {\n    return;\n  }\n  pcVar35 = *(code **)(pcVar35 + 0x6732c);\n  pcVar36 = ssh1_msg_port_open;\n  (*pcVar35)();\n  piVar18 = *(int **)(pcVar35 + 0x671a4);\n  iStack_13c = *piVar18;\n  pPVar5 = pkt;\n  ptStack_138 = ptVar26;\n  piStack_134 = piVar6;\n  uStack_130 = unaff_s2;\n  psStack_12c = psVar25;\n  uStack_128 = uVar14;\n  piStack_124 = piVar17;\n  iStack_120 = iVar8;\n  pcStack_11c = pcVar36;\n  uVar21 = ssh_pkt_getuint32(pkt);\n  ssh_pkt_getstring(pPVar5,&pcStack_15c,&iStack_160);\n  uVar22 = ssh_pkt_getuint32(pkt);\n  if (pcStack_15c == (char *)0x0) {\n    pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54);\n  }\n  psStack_14c = (Ssh_conflict)\n                (**(code **)(pcVar35 + 0x666ec))\n                          (*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c);\n  uStack_154 = uVar22;\n  iVar4 = (**(code **)(pcVar35 + 0x667c0))(ssh_00->rportfwds,auStack_158,0);\n  if (iVar4 == 0) {\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22);\n  }\n  else {\n    psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);\n    psVar23->ssh = ssh_00;\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);\n    iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(psVar23);\n  }\n  pPVar5 = (Packet *)&DAT_00000016;\n  send_packet(ssh_00,0x16,1,uVar21,0);\nLAB_00049cac:\n  psVar25 = psStack_14c;\n  (**(code **)(pcVar35 + 0x666b8))();\n  if (iStack_13c == *piVar18) {\n    return;\n  }\n  pcVar35 = *(code **)(pcVar35 + 0x67178);\n  (*pcVar35)();\n  uVar21 = ssh_pkt_getuint32(pPVar5);\n  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x493c);\n  if (psVar25->X11_fwd_enabled == 0) {\n    send_packet(psVar25,0x16,1,uVar21,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c);\n    return;\n  }\n  psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x66444))(1,0x5c);\n  psVar23->ssh = psVar25;\n  ssh_channel_init(psVar23);\n  pbVar24 = (bufchain_granule *)\n            (**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff);\n  (psVar23->u).a.inbuffer.head = pbVar24;\n  psVar23->remoteid = uVar21;\n  psVar23->halfopen = 0;\n  psVar23->type = 1;\n  send_packet(psVar25,0x15,1,uVar21,1,psVar23->localid,0);\n                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x4240);\n  return;\n}\n\n" comment (function_definition "void send_packet(Ssh_conflict ssh,int pkttype,...)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  Packet *pPVar5;\n  int *piVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  cmpfn234 p_Var20;\n  ulong uVar21;\n  ulong uVar22;\n  ssh_channel *psVar23;\n  bufchain_granule *pbVar24;\n  Ssh_conflict psVar25;\n  tree234 *ptVar26;\n  Ssh_conflict ssh_00;\n  Packet *pkt;\n  va_list in_a2;\n  node234_conflict *pnVar27;\n  node234_conflict *pnVar28;\n  undefined4 in_a3;\n  node234_conflict *pnVar29;\n  node234_conflict *pnVar30;\n  Packet *pPVar31;\n  char *pcVar32;\n  uint unaff_s2;\n  uint uVar33;\n  undefined *puVar34;\n  code *pcVar35;\n  code *pcVar36;\n  va_list local_res8;\n  undefined4 local_resc;\n  int iStack_160;\n  char *pcStack_15c;\n  undefined1 auStack_158 [4];\n  ulong uStack_154;\n  Ssh_conflict psStack_14c;\n  int iStack_13c;\n  tree234 *ptStack_138;\n  int *piStack_134;\n  uint uStack_130;\n  Ssh_conflict psStack_12c;\n  undefined4 uStack_128;\n  int *piStack_124;\n  int iStack_120;\n  code *pcStack_11c;\n  code *pcStack_e8;\n  Ssh_conflict psStack_dc;\n  Packet *pPStack_d8;\n  node234_conflict *pnStack_d4;\n  uint uStack_d0;\n  Ssh_conflict psStack_cc;\n  undefined4 uStack_c8;\n  code *pcStack_c4;\n  int iStack_84;\n  undefined1 uStack_61;\n  node234_conflict *pnStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  Ssh_conflict psStack_54;\n  va_list ap;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  pPVar5 = construct_packet((Ssh_conflict)pkttype,(int)&local_res8,in_a2);\n  psVar25 = ssh;\n  s_wrpkt(ssh,pPVar5);\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  piVar6 = *(int **)(puVar34 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piVar6;\n  ptVar26 = psVar25->portfwds;\n  iVar4 = 0;\n  psStack_54 = ssh;\n  if (ptVar26 == (tree234 *)0x0) {\n    ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58);\n    psVar25->portfwds = ptVar26;\n  }\n  else {\n    pcVar35 = *(code **)(puVar34 + 0x67790);\n    while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }\n  }\n  pnVar27 = (node234_conflict *)0x0;\n  iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60);\n  if (iVar4 != 0) {\n    iVar8 = *(int *)(puVar34 + 0x67670);\n    iVar9 = *(int *)(puVar34 + 0x67670);\n    iVar10 = *(int *)(puVar34 + 0x679ac);\n    iVar11 = *(int *)(puVar34 + 0x67670);\n    iVar12 = *(int *)(puVar34 + 0x67670);\n    do {\n      uVar33 = (uint)*(char *)&pnStack_60->parent;\n      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }\n      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);\n      pnVar30 = pnVar27;\n      if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }\n      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }\n      if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n      pnVar27 = pnStack_60;\n      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);\n    } while (iVar4 != 0);\n  }\n  iVar8 = *(int *)(puVar34 + 0x67b2c);\n  iVar4 = 0;\n  iVar11 = *(int *)(puVar34 + 0x67670);\n  iVar10 = *(int *)(puVar34 + 0x67670);\n  iVar9 = *(int *)(puVar34 + 0x67b2c);\n  do {\n    piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    while( true ) {\n      if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar17 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    }\n    if (piVar17[1] == 0x4c) {\n      iVar13 = piVar17[4];\n      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;\n      if (iVar13 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;\n    }\n    else {\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }\n    pnVar27 = (node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15);\n    pnVar30 = pnVar27;\n    if (piVar17[1] != 0x44) {\n      pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);\n      (**(code **)(puVar34 + 0x67698))(pnVar27);\n    }\n    pnVar27 = pnVar30;\n    logeventf(psVar25,(char *)(iVar10 + 0x47bc));\n    (**(code **)(puVar34 + 0x67698))(pnVar30);\n    iVar12 = piVar17[8];\n    if (iVar12 == 0) {\n      if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }\n    }\n    else {\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }\n    (**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4);\n    (**(code **)(puVar34 + 0x67698))(piVar17[4]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n    (**(code **)(puVar34 + 0x67698))(piVar17);\n  } while( true );\njoined_r0x0004902c:\n  if (piVar18 == (int *)0x0) goto LAB_00049064;\n  if (*piVar18 == 2) {\n    pnVar27 = pnVar30;\n    pnVar28 = pnVar30;\n    if ((node234_conflict *)piVar18[4] != (node234_conflict *)0x0) {\n      pnVar27 = (node234_conflict *)piVar18[4];\n      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);\n    }\n    pnVar29 = pnVar30;\n    if ((node234_conflict *)piVar18[6] != (node234_conflict *)0x0) {\n      pnVar29 = (node234_conflict *)piVar18[6];\n    }\n    unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29);\n    pnVar27 = pnVar30;\n    if (piVar18[1] == 0x44) {\n      uVar14 = 0;\nLAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);\n      if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }\n      if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }\n    }\n    else {\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puVar34 + 0x67698))(unaff_s2);\n    (**(code **)(puVar34 + 0x67698))(uVar14);\n  }\n  pPVar31 = (Packet *)((int)&pPVar31->length + 1);\n  ptVar26 = psVar25->portfwds;\n  pkt = pPVar31;\n  piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piVar6) {\n    return;\n  }\n  pcVar35 = *(code **)(puVar34 + 0x68158);\n  pcVar36 = ssh_size;\n  (*pcVar35)();\n  pcStack_e8 = pcVar35 + 0x6e80c;\n  p_Var20 = ptVar26[0x28].cmp;\n  ptVar26[0x23].cmp = (cmpfn234)pkt;\n  ptVar26[0x24].root = pnVar27;\n  piVar6 = *(int **)(pcVar35 + 0x67358);\n  ssh_00 = (Ssh_conflict)*piVar6;\n  psStack_dc = ssh_00;\n  pPStack_d8 = pPVar31;\n  pnStack_d4 = pnVar30;\n  uStack_d0 = unaff_s2;\n  psStack_cc = psVar25;\n  uStack_c8 = uVar14;\n  pcStack_c4 = pcVar36;\n  if (p_Var20 == (cmpfn234)0x2) {\n    ptVar26[0x29].root = (node234_conflict *)0x1;\n  }\n  else if (p_Var20 == (cmpfn234)0x3) {\n    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);\n    return;\n  }\n  if (ssh_00 == (Ssh_conflict)*piVar6) {\n    return;\n  }\n  pcVar35 = *(code **)(pcVar35 + 0x6732c);\n  pcVar36 = ssh1_msg_port_open;\n  (*pcVar35)();\n  piVar18 = *(int **)(pcVar35 + 0x671a4);\n  iStack_13c = *piVar18;\n  pPVar5 = pkt;\n  ptStack_138 = ptVar26;\n  piStack_134 = piVar6;\n  uStack_130 = unaff_s2;\n  psStack_12c = psVar25;\n  uStack_128 = uVar14;\n  piStack_124 = piVar17;\n  iStack_120 = iVar8;\n  pcStack_11c = pcVar36;\n  uVar21 = ssh_pkt_getuint32(pkt);\n  ssh_pkt_getstring(pPVar5,&pcStack_15c,&iStack_160);\n  uVar22 = ssh_pkt_getuint32(pkt);\n  if (pcStack_15c == (char *)0x0) {\n    pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54);\n  }\n  psStack_14c = (Ssh_conflict)\n                (**(code **)(pcVar35 + 0x666ec))\n                          (*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c);\n  uStack_154 = uVar22;\n  iVar4 = (**(code **)(pcVar35 + 0x667c0))(ssh_00->rportfwds,auStack_158,0);\n  if (iVar4 == 0) {\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22);\n  }\n  else {\n    psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);\n    psVar23->ssh = ssh_00;\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);\n    iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(psVar23);\n  }\n  pPVar5 = (Packet *)&DAT_00000016;\n  send_packet(ssh_00,0x16,1,uVar21,0);\nLAB_00049cac:\n  psVar25 = psStack_14c;\n  (**(code **)(pcVar35 + 0x666b8))();\n  if (iStack_13c == *piVar18) {\n    return;\n  }\n  pcVar35 = *(code **)(pcVar35 + 0x67178);\n  (*pcVar35)();\n  uVar21 = ssh_pkt_getuint32(pPVar5);\n  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x493c);\n  if (psVar25->X11_fwd_enabled == 0) {\n    send_packet(psVar25,0x16,1,uVar21,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c);\n    return;\n  }\n  psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x66444))(1,0x5c);\n  psVar23->ssh = psVar25;\n  ssh_channel_init(psVar23);\n  pbVar24 = (bufchain_granule *)\n            (**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff);\n  (psVar23->u).a.inbuffer.head = pbVar24;\n  psVar23->remoteid = uVar21;\n  psVar23->halfopen = 0;\n  psVar23->type = 1;\n  send_packet(psVar25,0x15,1,uVar21,1,psVar23->localid,0);\n                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x4240);\n  return;\n}" primitive_type (function_declarator "send_packet(Ssh_conflict ssh,int pkttype,...)" identifier (parameter_list "(Ssh_conflict ssh,int pkttype,...)" ( (parameter_declaration "Ssh_conflict ssh" type_identifier identifier) , (parameter_declaration "int pkttype" primitive_type identifier) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  Packet *pPVar5;\n  int *piVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  int *piVar18;\n  int *piVar19;\n  cmpfn234 p_Var20;\n  ulong uVar21;\n  ulong uVar22;\n  ssh_channel *psVar23;\n  bufchain_granule *pbVar24;\n  Ssh_conflict psVar25;\n  tree234 *ptVar26;\n  Ssh_conflict ssh_00;\n  Packet *pkt;\n  va_list in_a2;\n  node234_conflict *pnVar27;\n  node234_conflict *pnVar28;\n  undefined4 in_a3;\n  node234_conflict *pnVar29;\n  node234_conflict *pnVar30;\n  Packet *pPVar31;\n  char *pcVar32;\n  uint unaff_s2;\n  uint uVar33;\n  undefined *puVar34;\n  code *pcVar35;\n  code *pcVar36;\n  va_list local_res8;\n  undefined4 local_resc;\n  int iStack_160;\n  char *pcStack_15c;\n  undefined1 auStack_158 [4];\n  ulong uStack_154;\n  Ssh_conflict psStack_14c;\n  int iStack_13c;\n  tree234 *ptStack_138;\n  int *piStack_134;\n  uint uStack_130;\n  Ssh_conflict psStack_12c;\n  undefined4 uStack_128;\n  int *piStack_124;\n  int iStack_120;\n  code *pcStack_11c;\n  code *pcStack_e8;\n  Ssh_conflict psStack_dc;\n  Packet *pPStack_d8;\n  node234_conflict *pnStack_d4;\n  uint uStack_d0;\n  Ssh_conflict psStack_cc;\n  undefined4 uStack_c8;\n  code *pcStack_c4;\n  int iStack_84;\n  undefined1 uStack_61;\n  node234_conflict *pnStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  Ssh_conflict psStack_54;\n  va_list ap;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  pPVar5 = construct_packet((Ssh_conflict)pkttype,(int)&local_res8,in_a2);\n  psVar25 = ssh;\n  s_wrpkt(ssh,pPVar5);\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  piVar6 = *(int **)(puVar34 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piVar6;\n  ptVar26 = psVar25->portfwds;\n  iVar4 = 0;\n  psStack_54 = ssh;\n  if (ptVar26 == (tree234 *)0x0) {\n    ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58);\n    psVar25->portfwds = ptVar26;\n  }\n  else {\n    pcVar35 = *(code **)(puVar34 + 0x67790);\n    while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }\n  }\n  pnVar27 = (node234_conflict *)0x0;\n  iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60);\n  if (iVar4 != 0) {\n    iVar8 = *(int *)(puVar34 + 0x67670);\n    iVar9 = *(int *)(puVar34 + 0x67670);\n    iVar10 = *(int *)(puVar34 + 0x679ac);\n    iVar11 = *(int *)(puVar34 + 0x67670);\n    iVar12 = *(int *)(puVar34 + 0x67670);\n    do {\n      uVar33 = (uint)*(char *)&pnStack_60->parent;\n      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }\n      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);\n      pnVar30 = pnVar27;\n      if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }\n      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }\n      if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n      pnVar27 = pnStack_60;\n      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);\n    } while (iVar4 != 0);\n  }\n  iVar8 = *(int *)(puVar34 + 0x67b2c);\n  iVar4 = 0;\n  iVar11 = *(int *)(puVar34 + 0x67670);\n  iVar10 = *(int *)(puVar34 + 0x67670);\n  iVar9 = *(int *)(puVar34 + 0x67b2c);\n  do {\n    piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    while( true ) {\n      if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar17 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    }\n    if (piVar17[1] == 0x4c) {\n      iVar13 = piVar17[4];\n      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;\n      if (iVar13 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;\n    }\n    else {\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }\n    pnVar27 = (node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15);\n    pnVar30 = pnVar27;\n    if (piVar17[1] != 0x44) {\n      pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);\n      (**(code **)(puVar34 + 0x67698))(pnVar27);\n    }\n    pnVar27 = pnVar30;\n    logeventf(psVar25,(char *)(iVar10 + 0x47bc));\n    (**(code **)(puVar34 + 0x67698))(pnVar30);\n    iVar12 = piVar17[8];\n    if (iVar12 == 0) {\n      if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }\n    }\n    else {\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }\n    (**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4);\n    (**(code **)(puVar34 + 0x67698))(piVar17[4]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n    (**(code **)(puVar34 + 0x67698))(piVar17);\n  } while( true );\njoined_r0x0004902c:\n  if (piVar18 == (int *)0x0) goto LAB_00049064;\n  if (*piVar18 == 2) {\n    pnVar27 = pnVar30;\n    pnVar28 = pnVar30;\n    if ((node234_conflict *)piVar18[4] != (node234_conflict *)0x0) {\n      pnVar27 = (node234_conflict *)piVar18[4];\n      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);\n    }\n    pnVar29 = pnVar30;\n    if ((node234_conflict *)piVar18[6] != (node234_conflict *)0x0) {\n      pnVar29 = (node234_conflict *)piVar18[6];\n    }\n    unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29);\n    pnVar27 = pnVar30;\n    if (piVar18[1] == 0x44) {\n      uVar14 = 0;\nLAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);\n      if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }\n      if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }\n    }\n    else {\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puVar34 + 0x67698))(unaff_s2);\n    (**(code **)(puVar34 + 0x67698))(uVar14);\n  }\n  pPVar31 = (Packet *)((int)&pPVar31->length + 1);\n  ptVar26 = psVar25->portfwds;\n  pkt = pPVar31;\n  piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piVar6) {\n    return;\n  }\n  pcVar35 = *(code **)(puVar34 + 0x68158);\n  pcVar36 = ssh_size;\n  (*pcVar35)();\n  pcStack_e8 = pcVar35 + 0x6e80c;\n  p_Var20 = ptVar26[0x28].cmp;\n  ptVar26[0x23].cmp = (cmpfn234)pkt;\n  ptVar26[0x24].root = pnVar27;\n  piVar6 = *(int **)(pcVar35 + 0x67358);\n  ssh_00 = (Ssh_conflict)*piVar6;\n  psStack_dc = ssh_00;\n  pPStack_d8 = pPVar31;\n  pnStack_d4 = pnVar30;\n  uStack_d0 = unaff_s2;\n  psStack_cc = psVar25;\n  uStack_c8 = uVar14;\n  pcStack_c4 = pcVar36;\n  if (p_Var20 == (cmpfn234)0x2) {\n    ptVar26[0x29].root = (node234_conflict *)0x1;\n  }\n  else if (p_Var20 == (cmpfn234)0x3) {\n    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);\n    return;\n  }\n  if (ssh_00 == (Ssh_conflict)*piVar6) {\n    return;\n  }\n  pcVar35 = *(code **)(pcVar35 + 0x6732c);\n  pcVar36 = ssh1_msg_port_open;\n  (*pcVar35)();\n  piVar18 = *(int **)(pcVar35 + 0x671a4);\n  iStack_13c = *piVar18;\n  pPVar5 = pkt;\n  ptStack_138 = ptVar26;\n  piStack_134 = piVar6;\n  uStack_130 = unaff_s2;\n  psStack_12c = psVar25;\n  uStack_128 = uVar14;\n  piStack_124 = piVar17;\n  iStack_120 = iVar8;\n  pcStack_11c = pcVar36;\n  uVar21 = ssh_pkt_getuint32(pkt);\n  ssh_pkt_getstring(pPVar5,&pcStack_15c,&iStack_160);\n  uVar22 = ssh_pkt_getuint32(pkt);\n  if (pcStack_15c == (char *)0x0) {\n    pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54);\n  }\n  psStack_14c = (Ssh_conflict)\n                (**(code **)(pcVar35 + 0x666ec))\n                          (*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c);\n  uStack_154 = uVar22;\n  iVar4 = (**(code **)(pcVar35 + 0x667c0))(ssh_00->rportfwds,auStack_158,0);\n  if (iVar4 == 0) {\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22);\n  }\n  else {\n    psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);\n    psVar23->ssh = ssh_00;\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);\n    iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(psVar23);\n  }\n  pPVar5 = (Packet *)&DAT_00000016;\n  send_packet(ssh_00,0x16,1,uVar21,0);\nLAB_00049cac:\n  psVar25 = psStack_14c;\n  (**(code **)(pcVar35 + 0x666b8))();\n  if (iStack_13c == *piVar18) {\n    return;\n  }\n  pcVar35 = *(code **)(pcVar35 + 0x67178);\n  (*pcVar35)();\n  uVar21 = ssh_pkt_getuint32(pPVar5);\n  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x493c);\n  if (psVar25->X11_fwd_enabled == 0) {\n    send_packet(psVar25,0x16,1,uVar21,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c);\n    return;\n  }\n  psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x66444))(1,0x5c);\n  psVar23->ssh = psVar25;\n  ssh_channel_init(psVar23);\n  pbVar24 = (bufchain_granule *)\n            (**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff);\n  (psVar23->u).a.inbuffer.head = pbVar24;\n  psVar23->remoteid = uVar21;\n  psVar23->halfopen = 0;\n  psVar23->type = 1;\n  send_packet(psVar25,0x15,1,uVar21,1,psVar23->localid,0);\n                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x4240);\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "Packet *pPVar5;" type_identifier (pointer_declarator "*pPVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "cmpfn234 p_Var20;" type_identifier identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "ulong uVar22;" type_identifier identifier ;) (declaration "ssh_channel *psVar23;" type_identifier (pointer_declarator "*psVar23" * identifier) ;) (declaration "bufchain_granule *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "Ssh_conflict psVar25;" type_identifier identifier ;) (declaration "tree234 *ptVar26;" type_identifier (pointer_declarator "*ptVar26" * identifier) ;) (declaration "Ssh_conflict ssh_00;" type_identifier identifier ;) (declaration "Packet *pkt;" type_identifier (pointer_declarator "*pkt" * identifier) ;) (declaration "va_list in_a2;" type_identifier identifier ;) (declaration "node234_conflict *pnVar27;" type_identifier (pointer_declarator "*pnVar27" * identifier) ;) (declaration "node234_conflict *pnVar28;" type_identifier (pointer_declarator "*pnVar28" * identifier) ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "node234_conflict *pnVar29;" type_identifier (pointer_declarator "*pnVar29" * identifier) ;) (declaration "node234_conflict *pnVar30;" type_identifier (pointer_declarator "*pnVar30" * identifier) ;) (declaration "Packet *pPVar31;" type_identifier (pointer_declarator "*pPVar31" * identifier) ;) (declaration "char *pcVar32;" primitive_type (pointer_declarator "*pcVar32" * identifier) ;) (declaration "uint unaff_s2;" type_identifier identifier ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "undefined *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "va_list local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "int iStack_160;" primitive_type identifier ;) (declaration "char *pcStack_15c;" primitive_type (pointer_declarator "*pcStack_15c" * identifier) ;) (declaration "undefined1 auStack_158 [4];" type_identifier (array_declarator "auStack_158 [4]" identifier [ number_literal ]) ;) (declaration "ulong uStack_154;" type_identifier identifier ;) (declaration "Ssh_conflict psStack_14c;" type_identifier identifier ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "tree234 *ptStack_138;" type_identifier (pointer_declarator "*ptStack_138" * identifier) ;) (declaration "int *piStack_134;" primitive_type (pointer_declarator "*piStack_134" * identifier) ;) (declaration "uint uStack_130;" type_identifier identifier ;) (declaration "Ssh_conflict psStack_12c;" type_identifier identifier ;) (declaration "undefined4 uStack_128;" type_identifier identifier ;) (declaration "int *piStack_124;" primitive_type (pointer_declarator "*piStack_124" * identifier) ;) (declaration "int iStack_120;" primitive_type identifier ;) (declaration "code *pcStack_11c;" type_identifier (pointer_declarator "*pcStack_11c" * identifier) ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "Ssh_conflict psStack_dc;" type_identifier identifier ;) (declaration "Packet *pPStack_d8;" type_identifier (pointer_declarator "*pPStack_d8" * identifier) ;) (declaration "node234_conflict *pnStack_d4;" type_identifier (pointer_declarator "*pnStack_d4" * identifier) ;) (declaration "uint uStack_d0;" type_identifier identifier ;) (declaration "Ssh_conflict psStack_cc;" type_identifier identifier ;) (declaration "undefined4 uStack_c8;" type_identifier identifier ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "undefined1 uStack_61;" type_identifier identifier ;) (declaration "node234_conflict *pnStack_60;" type_identifier (pointer_declarator "*pnStack_60" * identifier) ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "Ssh_conflict psStack_54;" type_identifier identifier ;) (declaration "va_list ap;" type_identifier identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b0c9c" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b0c9c" * (cast_expression "(int *)PTR___stack_chk_guard_000b0c9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_res8 = in_a2;" (assignment_expression "local_res8 = in_a2" identifier = identifier) ;) (expression_statement "local_resc = in_a3;" (assignment_expression "local_resc = in_a3" identifier = identifier) ;) (expression_statement "pPVar5 = construct_packet((Ssh_conflict)pkttype,(int)&local_res8,in_a2);" (assignment_expression "pPVar5 = construct_packet((Ssh_conflict)pkttype,(int)&local_res8,in_a2)" identifier = (call_expression "construct_packet((Ssh_conflict)pkttype,(int)&local_res8,in_a2)" identifier (argument_list "((Ssh_conflict)pkttype,(int)&local_res8,in_a2)" ( (cast_expression "(Ssh_conflict)pkttype" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(int)&local_res8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_res8" & identifier)) , identifier )))) ;) (expression_statement "psVar25 = ssh;" (assignment_expression "psVar25 = ssh" identifier = identifier) ;) (expression_statement "s_wrpkt(ssh,pPVar5);" (call_expression "s_wrpkt(ssh,pPVar5)" identifier (argument_list "(ssh,pPVar5)" ( identifier , identifier ))) ;) (if_statement "if (iVar4 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(iVar4 == *(int *)puVar3)" ( (binary_expression "iVar4 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar34 = PTR___stack_chk_fail_000b0c70;" (assignment_expression "puVar34 = PTR___stack_chk_fail_000b0c70" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" * (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar6 = *(int **)(puVar34 + 0x68184);" (assignment_expression "piVar6 = *(int **)(puVar34 + 0x68184)" identifier = (pointer_expression "*(int **)(puVar34 + 0x68184)" * (cast_expression "(int **)(puVar34 + 0x68184)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x68184)" ( (binary_expression "puVar34 + 0x68184" identifier + number_literal) ))))) ;) (expression_statement "puStack_58 = puVar3;" (assignment_expression "puStack_58 = puVar3" identifier = identifier) ;) (expression_statement "iStack_5c = *piVar6;" (assignment_expression "iStack_5c = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "ptVar26 = psVar25->portfwds;" (assignment_expression "ptVar26 = psVar25->portfwds" identifier = (field_expression "psVar25->portfwds" identifier -> field_identifier)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "psStack_54 = ssh;" (assignment_expression "psStack_54 = ssh" identifier = identifier) ;) (if_statement "if (ptVar26 == (tree234 *)0x0) {\n    ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58);\n    psVar25->portfwds = ptVar26;\n  }\n  else {\n    pcVar35 = *(code **)(puVar34 + 0x67790);\n    while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }\n  }" if (parenthesized_expression "(ptVar26 == (tree234 *)0x0)" ( (binary_expression "ptVar26 == (tree234 *)0x0" identifier == (cast_expression "(tree234 *)0x0" ( (type_descriptor "tree234 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58);\n    psVar25->portfwds = ptVar26;\n  }" { (expression_statement "ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58);" (assignment_expression "ptVar26 = (tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58)" identifier = (cast_expression "(tree234 *)(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58)" ( (type_descriptor "tree234 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2c58)" (parenthesized_expression "(**(code **)(puVar34 + 0x67784))" ( (pointer_expression "**(code **)(puVar34 + 0x67784)" * (pointer_expression "*(code **)(puVar34 + 0x67784)" * (cast_expression "(code **)(puVar34 + 0x67784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67784)" ( (binary_expression "puVar34 + 0x67784" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x67b2c) + -0x2c58)" ( (binary_expression "*(int *)(puVar34 + 0x67b2c) + -0x2c58" (pointer_expression "*(int *)(puVar34 + 0x67b2c)" * (cast_expression "(int *)(puVar34 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67b2c)" ( (binary_expression "puVar34 + 0x67b2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "psVar25->portfwds = ptVar26;" (assignment_expression "psVar25->portfwds = ptVar26" (field_expression "psVar25->portfwds" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n    pcVar35 = *(code **)(puVar34 + 0x67790);\n    while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }\n  }" else (compound_statement "{\n    pcVar35 = *(code **)(puVar34 + 0x67790);\n    while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }\n  }" { (expression_statement "pcVar35 = *(code **)(puVar34 + 0x67790);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x67790)" identifier = (pointer_expression "*(code **)(puVar34 + 0x67790)" * (cast_expression "(code **)(puVar34 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67790)" ( (binary_expression "puVar34 + 0x67790" identifier + number_literal) ))))) ;) (while_statement "while (puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0) {\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }" while (parenthesized_expression "(puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0)" ( (comma_expression "puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4), puVar7 != (undefined4 *)0x0" (assignment_expression "puVar7 = (undefined4 *)(*pcVar35)(ptVar26,iVar4)" identifier = (cast_expression "(undefined4 *)(*pcVar35)(ptVar26,iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar35)(ptVar26,iVar4)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(ptVar26,iVar4)" ( identifier , identifier ))))) , (binary_expression "puVar7 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      iVar4 = iVar4 + 1;\n      ptVar26 = psVar25->portfwds;\n      *puVar7 = 0;\n      pcVar35 = *(code **)(puVar34 + 0x67790);\n    }" { (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "ptVar26 = psVar25->portfwds;" (assignment_expression "ptVar26 = psVar25->portfwds" identifier = (field_expression "psVar25->portfwds" identifier -> field_identifier)) ;) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x67790);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x67790)" identifier = (pointer_expression "*(code **)(puVar34 + 0x67790)" * (cast_expression "(code **)(puVar34 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67790)" ( (binary_expression "puVar34 + 0x67790" identifier + number_literal) ))))) ;) })) }))) (expression_statement "pnVar27 = (node234_conflict *)0x0;" (assignment_expression "pnVar27 = (node234_conflict *)0x0" identifier = (cast_expression "(node234_conflict *)0x0" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60);" (assignment_expression "iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60)" identifier = (call_expression "(**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60)" (parenthesized_expression "(**(code **)(puVar34 + 0x67a50))" ( (pointer_expression "**(code **)(puVar34 + 0x67a50)" * (pointer_expression "*(code **)(puVar34 + 0x67a50)" * (cast_expression "(code **)(puVar34 + 0x67a50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67a50)" ( (binary_expression "puVar34 + 0x67a50" identifier + number_literal) ))))) )) (argument_list "(pPVar5,0x9b,0,&pnStack_60)" ( identifier , number_literal , number_literal , (pointer_expression "&pnStack_60" & identifier) )))) ;) (if_statement "if (iVar4 != 0) {\n    iVar8 = *(int *)(puVar34 + 0x67670);\n    iVar9 = *(int *)(puVar34 + 0x67670);\n    iVar10 = *(int *)(puVar34 + 0x679ac);\n    iVar11 = *(int *)(puVar34 + 0x67670);\n    iVar12 = *(int *)(puVar34 + 0x67670);\n    do {\n      uVar33 = (uint)*(char *)&pnStack_60->parent;\n      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }\n      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);\n      pnVar30 = pnVar27;\n      if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }\n      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }\n      if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n      pnVar27 = pnStack_60;\n      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);\n    } while (iVar4 != 0);\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar8 = *(int *)(puVar34 + 0x67670);\n    iVar9 = *(int *)(puVar34 + 0x67670);\n    iVar10 = *(int *)(puVar34 + 0x679ac);\n    iVar11 = *(int *)(puVar34 + 0x67670);\n    iVar12 = *(int *)(puVar34 + 0x67670);\n    do {\n      uVar33 = (uint)*(char *)&pnStack_60->parent;\n      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }\n      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);\n      pnVar30 = pnVar27;\n      if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }\n      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }\n      if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n      pnVar27 = pnStack_60;\n      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);\n    } while (iVar4 != 0);\n  }" { (expression_statement "iVar8 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar8 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar9 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar34 + 0x679ac);" (assignment_expression "iVar10 = *(int *)(puVar34 + 0x679ac)" identifier = (pointer_expression "*(int *)(puVar34 + 0x679ac)" * (cast_expression "(int *)(puVar34 + 0x679ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x679ac)" ( (binary_expression "puVar34 + 0x679ac" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar11 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar12 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (do_statement "do {\n      uVar33 = (uint)*(char *)&pnStack_60->parent;\n      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }\n      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);\n      pnVar30 = pnVar27;\n      if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }\n      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }\n      if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n      pnVar27 = pnStack_60;\n      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);\n    } while (iVar4 != 0);" do (compound_statement "{\n      uVar33 = (uint)*(char *)&pnStack_60->parent;\n      if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }\n      iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);\n      pnVar30 = pnVar27;\n      if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }\n      iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);\n      if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }\n      if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n      pnVar27 = pnStack_60;\n      iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);\n    }" { (expression_statement "uVar33 = (uint)*(char *)&pnStack_60->parent;" (assignment_expression "uVar33 = (uint)*(char *)&pnStack_60->parent" identifier = (binary_expression "(uint)*(char *)&pnStack_60->parent" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)&pnStack_60->parent" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pnStack_60->parent" & (field_expression "pnStack_60->parent" identifier -> field_identifier))))) ;) (if_statement "if ((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }\n      else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }" if (parenthesized_expression "((uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34))" ( (binary_expression "(uVar33 == 0x41) || ((uVar33 & 0xfffffffd) == 0x34)" (parenthesized_expression "(uVar33 == 0x41)" ( (binary_expression "uVar33 == 0x41" identifier == number_literal) )) || (parenthesized_expression "((uVar33 & 0xfffffffd) == 0x34)" ( (binary_expression "(uVar33 & 0xfffffffd) == 0x34" (parenthesized_expression "(uVar33 & 0xfffffffd)" ( (binary_expression "uVar33 & 0xfffffffd" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);\n        pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);\n        if (unaff_s2 != 0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);\n      }" { (expression_statement "unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1);" (assignment_expression "unaff_s2 = (uint)*(char *)((int)&pnStack_60->parent + 1)" identifier = (binary_expression "(uint)*(char *)((int)&pnStack_60->parent + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)((int)&pnStack_60->parent + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pnStack_60->parent + 1)" ( (binary_expression "(int)&pnStack_60->parent + 1" (cast_expression "(int)&pnStack_60->parent" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pnStack_60->parent" & (field_expression "pnStack_60->parent" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1);" (assignment_expression "pnVar27 = (node234_conflict *)((int)&pnStack_60->parent + 1)" identifier = (cast_expression "(node234_conflict *)((int)&pnStack_60->parent + 1)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pnStack_60->parent + 1)" ( (binary_expression "(int)&pnStack_60->parent + 1" (cast_expression "(int)&pnStack_60->parent" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pnStack_60->parent" & (field_expression "pnStack_60->parent" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (unaff_s2 != 0x4c) goto LAB_00048d5c;" if (parenthesized_expression "(unaff_s2 != 0x4c)" ( (binary_expression "unaff_s2 != 0x4c" identifier != number_literal) )) (goto_statement "goto LAB_00048d5c;" goto statement_identifier ;)) (labeled_statement "LAB_00048e9c:\n        pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);" statement_identifier : (expression_statement "pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1);" (assignment_expression "pnVar27 = (node234_conflict *)((int)&pnVar27->parent + 1)" identifier = (cast_expression "(node234_conflict *)((int)&pnVar27->parent + 1)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pnVar27->parent + 1)" ( (binary_expression "(int)&pnVar27->parent + 1" (cast_expression "(int)&pnVar27->parent" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pnVar27->parent" & (field_expression "pnVar27->parent" identifier -> field_identifier))) + number_literal) )))) ;)) }) (else_clause "else {\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }" else (compound_statement "{\n        bVar1 = uVar33 == 0x4c;\n        pnVar27 = pnStack_60;\n        unaff_s2 = uVar33;\n        uVar33 = 0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;\n        unaff_s2 = 0x4c;\n      }" { (expression_statement "bVar1 = uVar33 == 0x4c;" (assignment_expression "bVar1 = uVar33 == 0x4c" identifier = (binary_expression "uVar33 == 0x4c" identifier == number_literal)) ;) (expression_statement "pnVar27 = pnStack_60;" (assignment_expression "pnVar27 = pnStack_60" identifier = identifier) ;) (expression_statement "unaff_s2 = uVar33;" (assignment_expression "unaff_s2 = uVar33" identifier = identifier) ;) (expression_statement "uVar33 = 0x41;" (assignment_expression "uVar33 = 0x41" identifier = number_literal) ;) (if_statement "if (bVar1) goto LAB_00048e9c;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_00048e9c;" goto statement_identifier ;)) (labeled_statement "LAB_00048d5c:\n        if (unaff_s2 == 0x52) goto LAB_00048e9c;" statement_identifier : (if_statement "if (unaff_s2 == 0x52) goto LAB_00048e9c;" if (parenthesized_expression "(unaff_s2 == 0x52)" ( (binary_expression "unaff_s2 == 0x52" identifier == number_literal) )) (goto_statement "goto LAB_00048e9c;" goto statement_identifier ;))) (expression_statement "unaff_s2 = 0x4c;" (assignment_expression "unaff_s2 = 0x4c" identifier = number_literal) ;) }))) (expression_statement "iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a);" (assignment_expression "iVar13 = (**(code **)(puVar34 + 0x67760))(pnVar27,0x3a)" identifier = (call_expression "(**(code **)(puVar34 + 0x67760))(pnVar27,0x3a)" (parenthesized_expression "(**(code **)(puVar34 + 0x67760))" ( (pointer_expression "**(code **)(puVar34 + 0x67760)" * (pointer_expression "*(code **)(puVar34 + 0x67760)" * (cast_expression "(code **)(puVar34 + 0x67760)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67760)" ( (binary_expression "puVar34 + 0x67760" identifier + number_literal) ))))) )) (argument_list "(pnVar27,0x3a)" ( identifier , number_literal )))) ;) (expression_statement "pnVar30 = pnVar27;" (assignment_expression "pnVar30 = pnVar27" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        pnVar30 = (node234_conflict *)(iVar13 + 1);\n        uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);\n        iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);\n        (**(code **)(puVar34 + 0x67698))(uVar14);\n      }" { (expression_statement "pnVar30 = (node234_conflict *)(iVar13 + 1);" (assignment_expression "pnVar30 = (node234_conflict *)(iVar13 + 1)" identifier = (cast_expression "(node234_conflict *)(iVar13 + 1)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 1)" ( (binary_expression "iVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27);" (assignment_expression "uVar14 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27)" identifier = (call_expression "(**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27)" (parenthesized_expression "(**(code **)(puVar34 + 0x676cc))" ( (pointer_expression "**(code **)(puVar34 + 0x676cc)" * (pointer_expression "*(code **)(puVar34 + 0x676cc)" * (cast_expression "(code **)(puVar34 + 0x676cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676cc)" ( (binary_expression "puVar34 + 0x676cc" identifier + number_literal) ))))) )) (argument_list "(iVar8 + 0x3218,iVar13 - (int)pnVar27,pnVar27)" ( (binary_expression "iVar8 + 0x3218" identifier + number_literal) , (binary_expression "iVar13 - (int)pnVar27" identifier - (cast_expression "(int)pnVar27" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (expression_statement "iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14);" (assignment_expression "iVar13 = (**(code **)(puVar34 + 0x67b18))(uVar14)" identifier = (call_expression "(**(code **)(puVar34 + 0x67b18))(uVar14)" (parenthesized_expression "(**(code **)(puVar34 + 0x67b18))" ( (pointer_expression "**(code **)(puVar34 + 0x67b18)" * (pointer_expression "*(code **)(puVar34 + 0x67b18)" * (cast_expression "(code **)(puVar34 + 0x67b18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67b18)" ( (binary_expression "puVar34 + 0x67b18" identifier + number_literal) ))))) )) (argument_list "(uVar14)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(uVar14);" (call_expression "(**(code **)(puVar34 + 0x67698))(uVar14)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(uVar14)" ( identifier ))) ;) })) (expression_statement "iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10);" (assignment_expression "iVar15 = (**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10)" identifier = (call_expression "(**(code **)(puVar34 + 0x67fd0))(pnVar30,0,10)" (parenthesized_expression "(**(code **)(puVar34 + 0x67fd0))" ( (pointer_expression "**(code **)(puVar34 + 0x67fd0)" * (pointer_expression "*(code **)(puVar34 + 0x67fd0)" * (cast_expression "(code **)(puVar34 + 0x67fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67fd0)" ( (binary_expression "puVar34 + 0x67fd0" identifier + number_literal) ))))) )) (argument_list "(pnVar30,0,10)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar15 == 0) {\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }\n      else {\n        bVar1 = false;\n      }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);\n        if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }\n      }" { (expression_statement "iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30);" (assignment_expression "iVar15 = (**(code **)(puVar34 + 0x67c9c))(pnVar30)" identifier = (call_expression "(**(code **)(puVar34 + 0x67c9c))(pnVar30)" (parenthesized_expression "(**(code **)(puVar34 + 0x67c9c))" ( (pointer_expression "**(code **)(puVar34 + 0x67c9c)" * (pointer_expression "*(code **)(puVar34 + 0x67c9c)" * (cast_expression "(code **)(puVar34 + 0x67c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67c9c)" ( (binary_expression "puVar34 + 0x67c9c" identifier + number_literal) ))))) )) (argument_list "(pnVar30)" ( identifier )))) ;) (if_statement "if (iVar15 == 0) {\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }\n        else {\n          bVar1 = true;\n        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          (*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);\n          bVar1 = true;\n        }" { (expression_statement "(*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30);" (call_expression "(*(code *)(iVar10 + 0x6288))(psVar25,iVar9 + 0x4734,pnVar30)" (parenthesized_expression "(*(code *)(iVar10 + 0x6288))" ( (pointer_expression "*(code *)(iVar10 + 0x6288)" * (cast_expression "(code *)(iVar10 + 0x6288)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x6288)" ( (binary_expression "iVar10 + 0x6288" identifier + number_literal) )))) )) (argument_list "(psVar25,iVar9 + 0x4734,pnVar30)" ( identifier , (binary_expression "iVar9 + 0x4734" identifier + number_literal) , identifier ))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }) (else_clause "else {\n          bVar1 = true;\n        }" else (compound_statement "{\n          bVar1 = true;\n        }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }))) }) (else_clause "else {\n        bVar1 = false;\n      }" else (compound_statement "{\n        bVar1 = false;\n      }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) }))) (if_statement "if ((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)) {\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }\n      else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }" if (parenthesized_expression "((unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0))" ( (binary_expression "(unaff_s2 == 0x4c) &&\n         (iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)" (parenthesized_expression "(unaff_s2 == 0x4c)" ( (binary_expression "unaff_s2 == 0x4c" identifier == number_literal) )) && (parenthesized_expression "(iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0)" ( (comma_expression "iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20),\n         iVar16 == 0" (assignment_expression "iVar16 = (**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20)" identifier = (call_expression "(**(code **)(puVar34 + 0x681c0))(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20)" (parenthesized_expression "(**(code **)(puVar34 + 0x681c0))" ( (pointer_expression "**(code **)(puVar34 + 0x681c0)" * (pointer_expression "*(code **)(puVar34 + 0x681c0)" * (cast_expression "(code **)(puVar34 + 0x681c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x681c0)" ( (binary_expression "puVar34 + 0x681c0" identifier + number_literal) ))))) )) (argument_list "(iVar4,*(int *)(puVar34 + 0x67670) + 0x2e20)" ( identifier , (binary_expression "*(int *)(puVar34 + 0x67670) + 0x2e20" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }\n      }" { (if_statement "if (iVar15 == 0) {\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }\n        else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar4 = 0;\nLAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);\n          (**(code **)(puVar34 + 0x67698))(iVar4);\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00048e64:\n          (**(code **)(puVar34 + 0x67698))(iVar13);" statement_identifier : (expression_statement "(**(code **)(puVar34 + 0x67698))(iVar13);" (call_expression "(**(code **)(puVar34 + 0x67698))(iVar13)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(iVar13)" ( identifier ))) ;)) (expression_statement "(**(code **)(puVar34 + 0x67698))(iVar4);" (call_expression "(**(code **)(puVar34 + 0x67698))(iVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) }) (else_clause "else {\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }" else (compound_statement "{\n          piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n          piVar17[4] = iVar13;\n          piVar17[1] = 0x44;\n          iVar16 = -1;\n          if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }\n          piVar17[6] = 0;\n          iVar4 = 0;\n          piVar17[2] = iVar15;\n          piVar17[5] = 0;\nLAB_00048c68:\n          piVar17[7] = iVar4;\n          piVar17[3] = iVar16;\n          piVar17[10] = 0;\n          piVar17[8] = 0;\n          if (uVar33 != 0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);\n          ptVar26 = psVar25->portfwds;\n          piVar17[9] = 1;\n          piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n          if (piVar17 != piVar18) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar17 = 2;\n        }" { (expression_statement "piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);" (assignment_expression "piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c)" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x676d0))(1,0x2c)" (parenthesized_expression "(**(code **)(puVar34 + 0x676d0))" ( (pointer_expression "**(code **)(puVar34 + 0x676d0)" * (pointer_expression "*(code **)(puVar34 + 0x676d0)" * (cast_expression "(code **)(puVar34 + 0x676d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d0)" ( (binary_expression "puVar34 + 0x676d0" identifier + number_literal) ))))) )) (argument_list "(1,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar17[4] = iVar13;" (assignment_expression "piVar17[4] = iVar13" (subscript_expression "piVar17[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[1] = 0x44;" (assignment_expression "piVar17[1] = 0x44" (subscript_expression "piVar17[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar16 = -1;" (assignment_expression "iVar16 = -1" identifier = number_literal) ;) (if_statement "if (bVar1) {\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n            iVar4 = 0;\n            pcVar32 = (char *)0x0;\n            bVar2 = false;\nLAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n            piVar17[6] = iVar13;\n            piVar17[2] = iVar15;\n            piVar17[5] = iVar4;\n            goto joined_r0x000497a8;\n          }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar32 = (char *)0x0;" (assignment_expression "pcVar32 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (labeled_statement "LAB_00049780:\n            iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);" statement_identifier : (expression_statement "iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30);" (assignment_expression "iVar13 = (**(code **)(puVar34 + 0x676d8))(pnVar30)" identifier = (call_expression "(**(code **)(puVar34 + 0x676d8))(pnVar30)" (parenthesized_expression "(**(code **)(puVar34 + 0x676d8))" ( (pointer_expression "**(code **)(puVar34 + 0x676d8)" * (pointer_expression "*(code **)(puVar34 + 0x676d8)" * (cast_expression "(code **)(puVar34 + 0x676d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d8)" ( (binary_expression "puVar34 + 0x676d8" identifier + number_literal) ))))) )) (argument_list "(pnVar30)" ( identifier )))) ;)) (expression_statement "piVar17[6] = iVar13;" (assignment_expression "piVar17[6] = iVar13" (subscript_expression "piVar17[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[2] = iVar15;" (assignment_expression "piVar17[2] = iVar15" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[5] = iVar4;" (assignment_expression "piVar17[5] = iVar4" (subscript_expression "piVar17[5]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto joined_r0x000497a8;" goto statement_identifier ;) })) (expression_statement "piVar17[6] = 0;" (assignment_expression "piVar17[6] = 0" (subscript_expression "piVar17[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "piVar17[2] = iVar15;" (assignment_expression "piVar17[2] = iVar15" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[5] = 0;" (assignment_expression "piVar17[5] = 0" (subscript_expression "piVar17[5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00048c68:\n          piVar17[7] = iVar4;" statement_identifier : (expression_statement "piVar17[7] = iVar4;" (assignment_expression "piVar17[7] = iVar4" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "piVar17[3] = iVar16;" (assignment_expression "piVar17[3] = iVar16" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[10] = 0;" (assignment_expression "piVar17[10] = 0" (subscript_expression "piVar17[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar17[8] = 0;" (assignment_expression "piVar17[8] = 0" (subscript_expression "piVar17[8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar33 != 0x34) goto LAB_00048c80;" if (parenthesized_expression "(uVar33 != 0x34)" ( (binary_expression "uVar33 != 0x34" identifier != number_literal) )) (goto_statement "goto LAB_00048c80;" goto statement_identifier ;)) (labeled_statement "LAB_00048f4c:\n          pcVar35 = *(code **)(puVar34 + 0x6777c);" statement_identifier : (expression_statement "pcVar35 = *(code **)(puVar34 + 0x6777c);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x6777c)" identifier = (pointer_expression "*(code **)(puVar34 + 0x6777c)" * (cast_expression "(code **)(puVar34 + 0x6777c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x6777c)" ( (binary_expression "puVar34 + 0x6777c" identifier + number_literal) ))))) ;)) (expression_statement "ptVar26 = psVar25->portfwds;" (assignment_expression "ptVar26 = psVar25->portfwds" identifier = (field_expression "psVar25->portfwds" identifier -> field_identifier)) ;) (expression_statement "piVar17[9] = 1;" (assignment_expression "piVar17[9] = 1" (subscript_expression "piVar17[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);" (assignment_expression "piVar18 = (int *)(*pcVar35)(ptVar26,piVar17)" identifier = (cast_expression "(int *)(*pcVar35)(ptVar26,piVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar35)(ptVar26,piVar17)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(ptVar26,piVar17)" ( identifier , identifier ))))) ;) (if_statement "if (piVar17 != piVar18) goto LAB_00048cac;" if (parenthesized_expression "(piVar17 != piVar18)" ( (binary_expression "piVar17 != piVar18" identifier != identifier) )) (goto_statement "goto LAB_00048cac;" goto statement_identifier ;)) (labeled_statement "LAB_00048f6c:\n          *piVar17 = 2;" statement_identifier : (expression_statement "*piVar17 = 2;" (assignment_expression "*piVar17 = 2" (pointer_expression "*piVar17" * identifier) = number_literal) ;)) }))) }) (else_clause "else {\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }" else (compound_statement "{\n        iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);\n        pcVar32 = (char *)(iVar4 + iVar16);\n        iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);\n        if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }\n        iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);\n        if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }\n        if (iVar15 == 0) goto LAB_00048e64;\n        piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);\n        piVar17[1] = unaff_s2;\n        piVar17[4] = iVar13;\n        if (bVar1) goto LAB_00049780;\n        piVar17[2] = iVar15;\n        piVar17[5] = iVar4;\n        piVar17[6] = 0;\njoined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }\n        piVar17[3] = iVar16;\n        piVar17[10] = 0;\n        piVar17[7] = 0;\n        piVar17[8] = 0;\n        if (uVar33 == 0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar35 = *(code **)(puVar34 + 0x6777c);\n        ptVar26 = psVar25->portfwds;\n        if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }\n        piVar17[9] = iVar4;\n        piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);\n        if (piVar17 == piVar18) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);\n        if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }\n        (*pcVar35)(piVar17[4]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n        (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }" { (expression_statement "iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0);" (assignment_expression "iVar16 = (**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0)" identifier = (call_expression "(**(code **)(puVar34 + 0x678e8))(iVar4,iVar12 + 0x28a0)" (parenthesized_expression "(**(code **)(puVar34 + 0x678e8))" ( (pointer_expression "**(code **)(puVar34 + 0x678e8)" * (pointer_expression "*(code **)(puVar34 + 0x678e8)" * (cast_expression "(code **)(puVar34 + 0x678e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x678e8)" ( (binary_expression "puVar34 + 0x678e8" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar12 + 0x28a0)" ( identifier , (binary_expression "iVar12 + 0x28a0" identifier + number_literal) )))) ;) (expression_statement "pcVar32 = (char *)(iVar4 + iVar16);" (assignment_expression "pcVar32 = (char *)(iVar4 + iVar16)" identifier = (cast_expression "(char *)(iVar4 + iVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar16)" ( (binary_expression "iVar4 + iVar16" identifier + identifier) )))) ;) (expression_statement "iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4);" (assignment_expression "iVar4 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4)" identifier = (call_expression "(**(code **)(puVar34 + 0x676cc))(iVar8 + 0x3218,iVar16,iVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x676cc))" ( (pointer_expression "**(code **)(puVar34 + 0x676cc)" * (pointer_expression "*(code **)(puVar34 + 0x676cc)" * (cast_expression "(code **)(puVar34 + 0x676cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676cc)" ( (binary_expression "puVar34 + 0x676cc" identifier + number_literal) ))))) )) (argument_list "(iVar8 + 0x3218,iVar16,iVar4)" ( (binary_expression "iVar8 + 0x3218" identifier + number_literal) , identifier , identifier )))) ;) (if_statement "if (*pcVar32 != '\0') {\n          pcVar32 = pcVar32 + 1;\n        }" if (parenthesized_expression "(*pcVar32 != '\0')" ( (binary_expression "*pcVar32 != '\0'" (pointer_expression "*pcVar32" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar32 = pcVar32 + 1;\n        }" { (expression_statement "pcVar32 = pcVar32 + 1;" (assignment_expression "pcVar32 = pcVar32 + 1" identifier = (binary_expression "pcVar32 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10);" (assignment_expression "iVar16 = (**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10)" identifier = (call_expression "(**(code **)(puVar34 + 0x67fd0))(pcVar32,0,10)" (parenthesized_expression "(**(code **)(puVar34 + 0x67fd0))" ( (pointer_expression "**(code **)(puVar34 + 0x67fd0)" * (pointer_expression "*(code **)(puVar34 + 0x67fd0)" * (cast_expression "(code **)(puVar34 + 0x67fd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67fd0)" ( (binary_expression "puVar34 + 0x67fd0" identifier + number_literal) ))))) )) (argument_list "(pcVar32,0,10)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar16 == 0) {\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }\n        else {\n          bVar2 = false;\n        }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);\n          if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }\n          bVar2 = true;\n        }" { (expression_statement "iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32);" (assignment_expression "iVar16 = (**(code **)(puVar34 + 0x67c9c))(pcVar32)" identifier = (call_expression "(**(code **)(puVar34 + 0x67c9c))(pcVar32)" (parenthesized_expression "(**(code **)(puVar34 + 0x67c9c))" ( (pointer_expression "**(code **)(puVar34 + 0x67c9c)" * (pointer_expression "*(code **)(puVar34 + 0x67c9c)" * (cast_expression "(code **)(puVar34 + 0x67c9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67c9c)" ( (binary_expression "puVar34 + 0x67c9c" identifier + number_literal) ))))) )) (argument_list "(pcVar32)" ( identifier )))) ;) (if_statement "if (iVar16 == 0) {\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            (*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);\n            goto LAB_00048e64;\n          }" { (expression_statement "(*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32);" (call_expression "(*(code *)(iVar10 + 0x6288))(psVar25,iVar11 + 0x4760,pcVar32)" (parenthesized_expression "(*(code *)(iVar10 + 0x6288))" ( (pointer_expression "*(code *)(iVar10 + 0x6288)" * (cast_expression "(code *)(iVar10 + 0x6288)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x6288)" ( (binary_expression "iVar10 + 0x6288" identifier + number_literal) )))) )) (argument_list "(psVar25,iVar11 + 0x4760,pcVar32)" ( identifier , (binary_expression "iVar11 + 0x4760" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_00048e64;" goto statement_identifier ;) })) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) (else_clause "else {\n          bVar2 = false;\n        }" else (compound_statement "{\n          bVar2 = false;\n        }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }))) (if_statement "if (iVar15 == 0) goto LAB_00048e64;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00048e64;" goto statement_identifier ;)) (expression_statement "piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c);" (assignment_expression "piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c)" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x676d0))(1,0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x676d0))(1,0x2c)" (parenthesized_expression "(**(code **)(puVar34 + 0x676d0))" ( (pointer_expression "**(code **)(puVar34 + 0x676d0)" * (pointer_expression "*(code **)(puVar34 + 0x676d0)" * (cast_expression "(code **)(puVar34 + 0x676d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d0)" ( (binary_expression "puVar34 + 0x676d0" identifier + number_literal) ))))) )) (argument_list "(1,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar17[1] = unaff_s2;" (assignment_expression "piVar17[1] = unaff_s2" (subscript_expression "piVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[4] = iVar13;" (assignment_expression "piVar17[4] = iVar13" (subscript_expression "piVar17[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (bVar1) goto LAB_00049780;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_00049780;" goto statement_identifier ;)) (expression_statement "piVar17[2] = iVar15;" (assignment_expression "piVar17[2] = iVar15" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[5] = iVar4;" (assignment_expression "piVar17[5] = iVar4" (subscript_expression "piVar17[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[6] = 0;" (assignment_expression "piVar17[6] = 0" (subscript_expression "piVar17[6]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "joined_r0x000497a8:\n        if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }" statement_identifier : (if_statement "if (bVar2) {\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n          iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);\n          goto LAB_00048c68;\n        }" { (expression_statement "iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32);" (assignment_expression "iVar4 = (**(code **)(puVar34 + 0x676d8))(pcVar32)" identifier = (call_expression "(**(code **)(puVar34 + 0x676d8))(pcVar32)" (parenthesized_expression "(**(code **)(puVar34 + 0x676d8))" ( (pointer_expression "**(code **)(puVar34 + 0x676d8)" * (pointer_expression "*(code **)(puVar34 + 0x676d8)" * (cast_expression "(code **)(puVar34 + 0x676d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d8)" ( (binary_expression "puVar34 + 0x676d8" identifier + number_literal) ))))) )) (argument_list "(pcVar32)" ( identifier )))) ;) (goto_statement "goto LAB_00048c68;" goto statement_identifier ;) }))) (expression_statement "piVar17[3] = iVar16;" (assignment_expression "piVar17[3] = iVar16" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[10] = 0;" (assignment_expression "piVar17[10] = 0" (subscript_expression "piVar17[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar17[7] = 0;" (assignment_expression "piVar17[7] = 0" (subscript_expression "piVar17[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar17[8] = 0;" (assignment_expression "piVar17[8] = 0" (subscript_expression "piVar17[8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar33 == 0x34) goto LAB_00048f4c;" if (parenthesized_expression "(uVar33 == 0x34)" ( (binary_expression "uVar33 == 0x34" identifier == number_literal) )) (goto_statement "goto LAB_00048f4c;" goto statement_identifier ;)) (labeled_statement "LAB_00048c80:\n        iVar4 = 2;" statement_identifier : (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;)) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x6777c);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x6777c)" identifier = (pointer_expression "*(code **)(puVar34 + 0x6777c)" * (cast_expression "(code **)(puVar34 + 0x6777c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x6777c)" ( (binary_expression "puVar34 + 0x6777c" identifier + number_literal) ))))) ;) (expression_statement "ptVar26 = psVar25->portfwds;" (assignment_expression "ptVar26 = psVar25->portfwds" identifier = (field_expression "psVar25->portfwds" identifier -> field_identifier)) ;) (if_statement "if (uVar33 != 0x36) {\n          iVar4 = 0;\n        }" if (parenthesized_expression "(uVar33 != 0x36)" ( (binary_expression "uVar33 != 0x36" identifier != number_literal) )) (compound_statement "{\n          iVar4 = 0;\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "piVar17[9] = iVar4;" (assignment_expression "piVar17[9] = iVar4" (subscript_expression "piVar17[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18 = (int *)(*pcVar35)(ptVar26,piVar17);" (assignment_expression "piVar18 = (int *)(*pcVar35)(ptVar26,piVar17)" identifier = (cast_expression "(int *)(*pcVar35)(ptVar26,piVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar35)(ptVar26,piVar17)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(ptVar26,piVar17)" ( identifier , identifier ))))) ;) (if_statement "if (piVar17 == piVar18) goto LAB_00048f6c;" if (parenthesized_expression "(piVar17 == piVar18)" ( (binary_expression "piVar17 == piVar18" identifier == identifier) )) (goto_statement "goto LAB_00048f6c;" goto statement_identifier ;)) (labeled_statement "LAB_00048cac:\n        pcVar35 = *(code **)(puVar34 + 0x67698);" statement_identifier : (expression_statement "pcVar35 = *(code **)(puVar34 + 0x67698);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x67698)" identifier = (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) ;)) (if_statement "if (*piVar18 == 0) {\n          *piVar18 = 1;\n        }" if (parenthesized_expression "(*piVar18 == 0)" ( (binary_expression "*piVar18 == 0" (pointer_expression "*piVar18" * identifier) == number_literal) )) (compound_statement "{\n          *piVar18 = 1;\n        }" { (expression_statement "*piVar18 = 1;" (assignment_expression "*piVar18 = 1" (pointer_expression "*piVar18" * identifier) = number_literal) ;) })) (expression_statement "(*pcVar35)(piVar17[4]);" (call_expression "(*pcVar35)(piVar17[4])" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(piVar17[4])" ( (subscript_expression "piVar17[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17[5]);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17[5])" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17[5])" ( (subscript_expression "piVar17[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17[6]);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17[6])" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17[6])" ( (subscript_expression "piVar17[6]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17[7]);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17[7])" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17[7])" ( (subscript_expression "piVar17[7]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17)" ( identifier ))) ;) }))) (expression_statement "pnVar27 = pnStack_60;" (assignment_expression "pnVar27 = pnStack_60" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);" (assignment_expression "iVar4 = (**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60)" identifier = (call_expression "(**(code **)(puVar34 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60)" (parenthesized_expression "(**(code **)(puVar34 + 0x67a50))" ( (pointer_expression "**(code **)(puVar34 + 0x67a50)" * (pointer_expression "*(code **)(puVar34 + 0x67a50)" * (cast_expression "(code **)(puVar34 + 0x67a50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67a50)" ( (binary_expression "puVar34 + 0x67a50" identifier + number_literal) ))))) )) (argument_list "(pPVar5,0x9b,pnStack_60,&pnStack_60)" ( identifier , number_literal , identifier , (pointer_expression "&pnStack_60" & identifier) )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar8 = *(int *)(puVar34 + 0x67b2c);" (assignment_expression "iVar8 = *(int *)(puVar34 + 0x67b2c)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67b2c)" * (cast_expression "(int *)(puVar34 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67b2c)" ( (binary_expression "puVar34 + 0x67b2c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar11 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar10 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar34 + 0x67b2c);" (assignment_expression "iVar9 = *(int *)(puVar34 + 0x67b2c)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67b2c)" * (cast_expression "(int *)(puVar34 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67b2c)" ( (binary_expression "puVar34 + 0x67b2c" identifier + number_literal) ))))) ;) (do_statement "do {\n    piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    while( true ) {\n      if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar17 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    }\n    if (piVar17[1] == 0x4c) {\n      iVar13 = piVar17[4];\n      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;\n      if (iVar13 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;\n    }\n    else {\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }\n    pnVar27 = (node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15);\n    pnVar30 = pnVar27;\n    if (piVar17[1] != 0x44) {\n      pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);\n      (**(code **)(puVar34 + 0x67698))(pnVar27);\n    }\n    pnVar27 = pnVar30;\n    logeventf(psVar25,(char *)(iVar10 + 0x47bc));\n    (**(code **)(puVar34 + 0x67698))(pnVar30);\n    iVar12 = piVar17[8];\n    if (iVar12 == 0) {\n      if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }\n    }\n    else {\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }\n    (**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4);\n    (**(code **)(puVar34 + 0x67698))(piVar17[4]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n    (**(code **)(puVar34 + 0x67698))(piVar17);\n  } while( true );" do (compound_statement "{\n    piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    while( true ) {\n      if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar17 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    }\n    if (piVar17[1] == 0x4c) {\n      iVar13 = piVar17[4];\n      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;\n      if (iVar13 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;\n    }\n    else {\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }\n    pnVar27 = (node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15);\n    pnVar30 = pnVar27;\n    if (piVar17[1] != 0x44) {\n      pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);\n      (**(code **)(puVar34 + 0x67698))(pnVar27);\n    }\n    pnVar27 = pnVar30;\n    logeventf(psVar25,(char *)(iVar10 + 0x47bc));\n    (**(code **)(puVar34 + 0x67698))(pnVar30);\n    iVar12 = piVar17[8];\n    if (iVar12 == 0) {\n      if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }\n    }\n    else {\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }\n    (**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4);\n    (**(code **)(puVar34 + 0x67698))(piVar17[4]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[5]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[6]);\n    (**(code **)(puVar34 + 0x67698))(piVar17[7]);\n    (**(code **)(puVar34 + 0x67698))(piVar17);\n  }" { (expression_statement "piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);" (assignment_expression "piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4)" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x67790))" ( (pointer_expression "**(code **)(puVar34 + 0x67790)" * (pointer_expression "*(code **)(puVar34 + 0x67790)" * (cast_expression "(code **)(puVar34 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67790)" ( (binary_expression "puVar34 + 0x67790" identifier + number_literal) ))))) )) (argument_list "(psVar25->portfwds,iVar4)" ( (field_expression "psVar25->portfwds" identifier -> field_identifier) , identifier ))))) ;) (while_statement "while( true ) {\n      if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar17 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar17 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);\n    }" { (if_statement "if (piVar17 == (int *)0x0) {\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }" if (parenthesized_expression "(piVar17 == (int *)0x0)" ( (binary_expression "piVar17 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar4 = *(int *)(puVar34 + 0x67670);\n        pPVar31 = (Packet *)0x0;\n        piVar17 = *(int **)(puVar34 + 0x679ac);\n        pkt = (Packet *)0x0;\n        ptVar26 = psVar25->portfwds;\n        iVar8 = *(int *)(puVar34 + 0x67670);\n        pcVar35 = (code *)(piVar17 + 0x18a2);\n        pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);\n        piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();\n        uVar14 = 0;\n        goto joined_r0x0004902c;\n      }" { (expression_statement "iVar4 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar4 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (expression_statement "pPVar31 = (Packet *)0x0;" (assignment_expression "pPVar31 = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar17 = *(int **)(puVar34 + 0x679ac);" (assignment_expression "piVar17 = *(int **)(puVar34 + 0x679ac)" identifier = (pointer_expression "*(int **)(puVar34 + 0x679ac)" * (cast_expression "(int **)(puVar34 + 0x679ac)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x679ac)" ( (binary_expression "puVar34 + 0x679ac" identifier + number_literal) ))))) ;) (expression_statement "pkt = (Packet *)0x0;" (assignment_expression "pkt = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ptVar26 = psVar25->portfwds;" (assignment_expression "ptVar26 = psVar25->portfwds" identifier = (field_expression "psVar25->portfwds" identifier -> field_identifier)) ;) (expression_statement "iVar8 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar8 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = (code *)(piVar17 + 0x18a2);" (assignment_expression "pcVar35 = (code *)(piVar17 + 0x18a2)" identifier = (cast_expression "(code *)(piVar17 + 0x18a2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar17 + 0x18a2)" ( (binary_expression "piVar17 + 0x18a2" identifier + number_literal) )))) ;) (expression_statement "pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54);" (assignment_expression "pnVar30 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54)" identifier = (cast_expression "(node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x2d54)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x2d54)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x2d54" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();" (assignment_expression "piVar18 = (int *)(**(code **)(puVar34 + 0x67790))()" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x67790))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x67790))()" (parenthesized_expression "(**(code **)(puVar34 + 0x67790))" ( (pointer_expression "**(code **)(puVar34 + 0x67790)" * (pointer_expression "*(code **)(puVar34 + 0x67790)" * (cast_expression "(code **)(puVar34 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67790)" ( (binary_expression "puVar34 + 0x67790" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (goto_statement "goto joined_r0x0004902c;" goto statement_identifier ;) })) (if_statement "if (*piVar17 == 0) break;" if (parenthesized_expression "(*piVar17 == 0)" ( (binary_expression "*piVar17 == 0" (pointer_expression "*piVar17" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4);" (assignment_expression "piVar17 = (int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4)" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x67790))(psVar25->portfwds,iVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x67790))" ( (pointer_expression "**(code **)(puVar34 + 0x67790)" * (pointer_expression "*(code **)(puVar34 + 0x67790)" * (cast_expression "(code **)(puVar34 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67790)" ( (binary_expression "puVar34 + 0x67790" identifier + number_literal) ))))) )) (argument_list "(psVar25->portfwds,iVar4)" ( (field_expression "psVar25->portfwds" identifier -> field_identifier) , identifier ))))) ;) })) (if_statement "if (piVar17[1] == 0x4c) {\n      iVar13 = piVar17[4];\n      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;\n      if (iVar13 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;\n    }\n    else {\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }" if (parenthesized_expression "(piVar17[1] == 0x4c)" ( (binary_expression "piVar17[1] == 0x4c" (subscript_expression "piVar17[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar13 = piVar17[4];\n      iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;\n      if (iVar13 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;\n    }" { (expression_statement "iVar13 = piVar17[4];" (assignment_expression "iVar13 = piVar17[4]" identifier = (subscript_expression "piVar17[4]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708;" (assignment_expression "iVar12 = *(int *)(puVar34 + 0x67670) + 0x4708" identifier = (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4708" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar13 == 0) goto LAB_0004942c;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004942c;" goto statement_identifier ;)) (labeled_statement "LAB_00049258:\n      iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;" statement_identifier : (expression_statement "iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0;" (assignment_expression "iVar15 = *(int *)(puVar34 + 0x67670) + 0x28a0" identifier = (binary_expression "*(int *)(puVar34 + 0x67670) + 0x28a0" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal)) ;)) }) (else_clause "else {\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }" else (compound_statement "{\n      if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }\n      iVar13 = piVar17[4];\n      if (iVar13 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;\n      iVar15 = iVar13;\n    }" { (if_statement "if (piVar17[1] == 0x52) {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }\n      else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }" if (parenthesized_expression "(piVar17[1] == 0x52)" ( (binary_expression "piVar17[1] == 0x52" (subscript_expression "piVar17[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;\n      }" { (expression_statement "iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710;" (assignment_expression "iVar12 = *(int *)(puVar34 + 0x67670) + 0x4710" identifier = (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4710" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }" else (compound_statement "{\n        iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;\n      }" { (expression_statement "iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718;" (assignment_expression "iVar12 = *(int *)(puVar34 + 0x67670) + 0x4718" identifier = (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4718" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "iVar13 = piVar17[4];" (assignment_expression "iVar13 = piVar17[4]" identifier = (subscript_expression "piVar17[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar13 != 0) goto LAB_00049258;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049258;" goto statement_identifier ;)) (labeled_statement "LAB_0004942c:\n      iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;" statement_identifier : (expression_statement "iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54;" (assignment_expression "iVar13 = *(int *)(puVar34 + 0x67670) + 0x2d54" identifier = (binary_expression "*(int *)(puVar34 + 0x67670) + 0x2d54" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "iVar15 = iVar13;" (assignment_expression "iVar15 = iVar13" identifier = identifier) ;) }))) (expression_statement "pnVar27 = (node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15);" (assignment_expression "pnVar27 = (node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15)" identifier = (cast_expression "(node234_conflict *)\n              (**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x676cc))(iVar11 + 0x4790,iVar12,iVar13,iVar15)" (parenthesized_expression "(**(code **)(puVar34 + 0x676cc))" ( (pointer_expression "**(code **)(puVar34 + 0x676cc)" * (pointer_expression "*(code **)(puVar34 + 0x676cc)" * (cast_expression "(code **)(puVar34 + 0x676cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676cc)" ( (binary_expression "puVar34 + 0x676cc" identifier + number_literal) ))))) )) (argument_list "(iVar11 + 0x4790,iVar12,iVar13,iVar15)" ( (binary_expression "iVar11 + 0x4790" identifier + number_literal) , identifier , identifier , identifier ))))) ;) (expression_statement "pnVar30 = pnVar27;" (assignment_expression "pnVar30 = pnVar27" identifier = identifier) ;) (if_statement "if (piVar17[1] != 0x44) {\n      pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);\n      (**(code **)(puVar34 + 0x67698))(pnVar27);\n    }" if (parenthesized_expression "(piVar17[1] != 0x44)" ( (binary_expression "piVar17[1] != 0x44" (subscript_expression "piVar17[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);\n      (**(code **)(puVar34 + 0x67698))(pnVar27);\n    }" { (expression_statement "pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3]);" (assignment_expression "pnVar30 = (node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3])" identifier = (cast_expression "(node234_conflict *)\n                (**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3])" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x676cc))\n                          (*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3])" (parenthesized_expression "(**(code **)(puVar34 + 0x676cc))" ( (pointer_expression "**(code **)(puVar34 + 0x676cc)" * (pointer_expression "*(code **)(puVar34 + 0x676cc)" * (cast_expression "(code **)(puVar34 + 0x676cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676cc)" ( (binary_expression "puVar34 + 0x676cc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x67670) + 0x47b0,pnVar27,piVar17[5],piVar17[3])" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x47b0" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) , identifier , (subscript_expression "piVar17[5]" identifier [ number_literal ]) , (subscript_expression "piVar17[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(pnVar27);" (call_expression "(**(code **)(puVar34 + 0x67698))(pnVar27)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(pnVar27)" ( identifier ))) ;) })) (expression_statement "pnVar27 = pnVar30;" (assignment_expression "pnVar27 = pnVar30" identifier = identifier) ;) (expression_statement "logeventf(psVar25,(char *)(iVar10 + 0x47bc));" (call_expression "logeventf(psVar25,(char *)(iVar10 + 0x47bc))" identifier (argument_list "(psVar25,(char *)(iVar10 + 0x47bc))" ( identifier , (cast_expression "(char *)(iVar10 + 0x47bc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x47bc)" ( (binary_expression "iVar10 + 0x47bc" identifier + number_literal) ))) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(pnVar30);" (call_expression "(**(code **)(puVar34 + 0x67698))(pnVar30)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(pnVar30)" ( identifier ))) ;) (expression_statement "iVar12 = piVar17[8];" (assignment_expression "iVar12 = piVar17[8]" identifier = (subscript_expression "piVar17[8]" identifier [ number_literal ])) ;) (if_statement "if (iVar12 == 0) {\n      if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }\n    }\n    else {\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }\n    }" { (if_statement "if (piVar17[10] != 0) {\n        (**(code **)(puVar34 + 0x6786c))();\n      }" if (parenthesized_expression "(piVar17[10] != 0)" ( (binary_expression "piVar17[10] != 0" (subscript_expression "piVar17[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar34 + 0x6786c))();\n      }" { (expression_statement "(**(code **)(puVar34 + 0x6786c))();" (call_expression "(**(code **)(puVar34 + 0x6786c))()" (parenthesized_expression "(**(code **)(puVar34 + 0x6786c))" ( (pointer_expression "**(code **)(puVar34 + 0x6786c)" * (pointer_expression "*(code **)(puVar34 + 0x6786c)" * (cast_expression "(code **)(puVar34 + 0x6786c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x6786c)" ( (binary_expression "puVar34 + 0x6786c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }" else (compound_statement "{\n      if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }\n      (**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);\n      (*(code *)(iVar8 + -0x63f8))(iVar12);\n    }" { (if_statement "if (psVar25->version != 1) {\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }" if (parenthesized_expression "(psVar25->version != 1)" ( (binary_expression "psVar25->version != 1" (field_expression "psVar25->version" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);\n        ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));\n                    /* WARNING: Subroutine does not return */\n        uStack_61 = 0;\n        ssh_pkt_adddata(pPVar5,&uStack_61,1);\n      }" { (expression_statement "pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50);" (assignment_expression "pPVar5 = (Packet *)(*(code *)(iVar9 + -0x5a14))(0x50)" identifier = (cast_expression "(Packet *)(*(code *)(iVar9 + -0x5a14))(0x50)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar9 + -0x5a14))(0x50)" (parenthesized_expression "(*(code *)(iVar9 + -0x5a14))" ( (pointer_expression "*(code *)(iVar9 + -0x5a14)" * (cast_expression "(code *)(iVar9 + -0x5a14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x5a14)" ( (binary_expression "iVar9 + -0x5a14" identifier + number_literal) )))) )) (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc));" (call_expression "ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc))" identifier (argument_list "(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc))" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x67670) + 0x47cc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x47cc)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x47cc" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) ))) ))) ;) comment (expression_statement "uStack_61 = 0;" (assignment_expression "uStack_61 = 0" identifier = number_literal) ;) (expression_statement "ssh_pkt_adddata(pPVar5,&uStack_61,1);" (call_expression "ssh_pkt_adddata(pPVar5,&uStack_61,1)" identifier (argument_list "(pPVar5,&uStack_61,1)" ( identifier , (pointer_expression "&uStack_61" & identifier) , number_literal ))) ;) })) (expression_statement "(**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12);" (call_expression "(**(code **)(puVar34 + 0x67780))(psVar25->rportfwds,iVar12)" (parenthesized_expression "(**(code **)(puVar34 + 0x67780))" ( (pointer_expression "**(code **)(puVar34 + 0x67780)" * (pointer_expression "*(code **)(puVar34 + 0x67780)" * (cast_expression "(code **)(puVar34 + 0x67780)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67780)" ( (binary_expression "puVar34 + 0x67780" identifier + number_literal) ))))) )) (argument_list "(psVar25->rportfwds,iVar12)" ( (field_expression "psVar25->rportfwds" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(*(code *)(iVar8 + -0x63f8))(iVar12);" (call_expression "(*(code *)(iVar8 + -0x63f8))(iVar12)" (parenthesized_expression "(*(code *)(iVar8 + -0x63f8))" ( (pointer_expression "*(code *)(iVar8 + -0x63f8)" * (cast_expression "(code *)(iVar8 + -0x63f8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x63f8)" ( (binary_expression "iVar8 + -0x63f8" identifier + number_literal) )))) )) (argument_list "(iVar12)" ( identifier ))) ;) }))) (expression_statement "(**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4);" (call_expression "(**(code **)(puVar34 + 0x67778))(psVar25->portfwds,iVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x67778))" ( (pointer_expression "**(code **)(puVar34 + 0x67778)" * (pointer_expression "*(code **)(puVar34 + 0x67778)" * (cast_expression "(code **)(puVar34 + 0x67778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67778)" ( (binary_expression "puVar34 + 0x67778" identifier + number_literal) ))))) )) (argument_list "(psVar25->portfwds,iVar4)" ( (field_expression "psVar25->portfwds" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17[4]);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17[4])" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17[4])" ( (subscript_expression "piVar17[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17[5]);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17[5])" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17[5])" ( (subscript_expression "piVar17[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17[6]);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17[6])" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17[6])" ( (subscript_expression "piVar17[6]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17[7]);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17[7])" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17[7])" ( (subscript_expression "piVar17[7]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17)" ( identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "joined_r0x0004902c:\n  if (piVar18 == (int *)0x0) goto LAB_00049064;" statement_identifier : (if_statement "if (piVar18 == (int *)0x0) goto LAB_00049064;" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00049064;" goto statement_identifier ;))) (if_statement "if (*piVar18 == 2) {\n    pnVar27 = pnVar30;\n    pnVar28 = pnVar30;\n    if ((node234_conflict *)piVar18[4] != (node234_conflict *)0x0) {\n      pnVar27 = (node234_conflict *)piVar18[4];\n      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);\n    }\n    pnVar29 = pnVar30;\n    if ((node234_conflict *)piVar18[6] != (node234_conflict *)0x0) {\n      pnVar29 = (node234_conflict *)piVar18[6];\n    }\n    unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29);\n    pnVar27 = pnVar30;\n    if (piVar18[1] == 0x44) {\n      uVar14 = 0;\nLAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);\n      if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }\n      if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }\n    }\n    else {\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puVar34 + 0x67698))(unaff_s2);\n    (**(code **)(puVar34 + 0x67698))(uVar14);\n  }" if (parenthesized_expression "(*piVar18 == 2)" ( (binary_expression "*piVar18 == 2" (pointer_expression "*piVar18" * identifier) == number_literal) )) (compound_statement "{\n    pnVar27 = pnVar30;\n    pnVar28 = pnVar30;\n    if ((node234_conflict *)piVar18[4] != (node234_conflict *)0x0) {\n      pnVar27 = (node234_conflict *)piVar18[4];\n      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);\n    }\n    pnVar29 = pnVar30;\n    if ((node234_conflict *)piVar18[6] != (node234_conflict *)0x0) {\n      pnVar29 = (node234_conflict *)piVar18[6];\n    }\n    unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29);\n    pnVar27 = pnVar30;\n    if (piVar18[1] == 0x44) {\n      uVar14 = 0;\nLAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);\n      if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }\n      if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }\n    }\n    else {\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puVar34 + 0x67698))(unaff_s2);\n    (**(code **)(puVar34 + 0x67698))(uVar14);\n  }" { (expression_statement "pnVar27 = pnVar30;" (assignment_expression "pnVar27 = pnVar30" identifier = identifier) ;) (expression_statement "pnVar28 = pnVar30;" (assignment_expression "pnVar28 = pnVar30" identifier = identifier) ;) (if_statement "if ((node234_conflict *)piVar18[4] != (node234_conflict *)0x0) {\n      pnVar27 = (node234_conflict *)piVar18[4];\n      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);\n    }" if (parenthesized_expression "((node234_conflict *)piVar18[4] != (node234_conflict *)0x0)" ( (binary_expression "(node234_conflict *)piVar18[4] != (node234_conflict *)0x0" (cast_expression "(node234_conflict *)piVar18[4]" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[4]" identifier [ number_literal ])) != (cast_expression "(node234_conflict *)0x0" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pnVar27 = (node234_conflict *)piVar18[4];\n      pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);\n    }" { (expression_statement "pnVar27 = (node234_conflict *)piVar18[4];" (assignment_expression "pnVar27 = (node234_conflict *)piVar18[4]" identifier = (cast_expression "(node234_conflict *)piVar18[4]" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[4]" identifier [ number_literal ]))) ;) (expression_statement "pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0);" (assignment_expression "pnVar28 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0)" identifier = (cast_expression "(node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x28a0)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x28a0)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x28a0" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "pnVar29 = pnVar30;" (assignment_expression "pnVar29 = pnVar30" identifier = identifier) ;) (if_statement "if ((node234_conflict *)piVar18[6] != (node234_conflict *)0x0) {\n      pnVar29 = (node234_conflict *)piVar18[6];\n    }" if (parenthesized_expression "((node234_conflict *)piVar18[6] != (node234_conflict *)0x0)" ( (binary_expression "(node234_conflict *)piVar18[6] != (node234_conflict *)0x0" (cast_expression "(node234_conflict *)piVar18[6]" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[6]" identifier [ number_literal ])) != (cast_expression "(node234_conflict *)0x0" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pnVar29 = (node234_conflict *)piVar18[6];\n    }" { (expression_statement "pnVar29 = (node234_conflict *)piVar18[6];" (assignment_expression "pnVar29 = (node234_conflict *)piVar18[6]" identifier = (cast_expression "(node234_conflict *)piVar18[6]" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[6]" identifier [ number_literal ]))) ;) })) (expression_statement "unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29);" (assignment_expression "unaff_s2 = (**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29)" identifier = (call_expression "(**(code **)(puVar34 + 0x676cc))(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29)" (parenthesized_expression "(**(code **)(puVar34 + 0x676cc))" ( (pointer_expression "**(code **)(puVar34 + 0x676cc)" * (pointer_expression "*(code **)(puVar34 + 0x676cc)" * (cast_expression "(code **)(puVar34 + 0x676cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676cc)" ( (binary_expression "puVar34 + 0x676cc" identifier + number_literal) ))))) )) (argument_list "(iVar8 + 0x47f0,pnVar27,pnVar28,pnVar29)" ( (binary_expression "iVar8 + 0x47f0" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "pnVar27 = pnVar30;" (assignment_expression "pnVar27 = pnVar30" identifier = identifier) ;) (if_statement "if (piVar18[1] == 0x44) {\n      uVar14 = 0;\nLAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);\n      if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }\n      if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }\n    }\n    else {\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }" if (parenthesized_expression "(piVar18[1] == 0x44)" ( (binary_expression "piVar18[1] == 0x44" (subscript_expression "piVar18[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      uVar14 = 0;\nLAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);\n      if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }\n      if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }\n    }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0004945c:\n      iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);" statement_identifier : (expression_statement "iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2]);" (assignment_expression "iStack_84 = (**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2])" identifier = (call_expression "(**(code **)(puVar34 + 0x67ca0))(0,0xffffffff,piVar18[4],piVar18[2])" (parenthesized_expression "(**(code **)(puVar34 + 0x67ca0))" ( (pointer_expression "**(code **)(puVar34 + 0x67ca0)" * (pointer_expression "*(code **)(puVar34 + 0x67ca0)" * (cast_expression "(code **)(puVar34 + 0x67ca0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67ca0)" ( (binary_expression "puVar34 + 0x67ca0" identifier + number_literal) ))))) )) (argument_list "(0,0xffffffff,piVar18[4],piVar18[2])" ( number_literal , number_literal , (subscript_expression "piVar18[4]" identifier [ number_literal ]) , (subscript_expression "piVar18[2]" identifier [ number_literal ]) )))) ;)) (if_statement "if (piVar18[9] == 1) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }\n      else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }" if (parenthesized_expression "(piVar18[9] == 1)" ( (binary_expression "piVar18[9] == 1" (subscript_expression "piVar18[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n      }" { (expression_statement "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);" (assignment_expression "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724)" identifier = (cast_expression "(node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x4724)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4724" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }" else (if_statement "if (piVar18[9] == 2) {\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }" if (parenthesized_expression "(piVar18[9] == 2)" ( (binary_expression "piVar18[9] == 2" (subscript_expression "piVar18[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n      }" { (expression_statement "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);" (assignment_expression "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c)" identifier = (cast_expression "(node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x472c)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x472c" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) })))) (if_statement "if (iStack_84 == 0) {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }\n      else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }" if (parenthesized_expression "(iStack_84 == 0)" ( (binary_expression "iStack_84 == 0" identifier == number_literal) )) (compound_statement "{\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\n      }" { (expression_statement "(*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);" (call_expression "(*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2)" ( identifier , (binary_expression "iVar4 + 0x48a4" identifier + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }" else (compound_statement "{\n        (*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);\n      }" { (expression_statement "(*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2);" (call_expression "(*pcVar35)(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(psVar25,iVar4 + 0x48a4,pnVar27,unaff_s2)" ( identifier , (binary_expression "iVar4 + 0x48a4" identifier + number_literal) , identifier , identifier ))) ;) (labeled_statement "LAB_000495e0:\n        (**(code **)(puVar34 + 0x67698))(iStack_84);" statement_identifier : (expression_statement "(**(code **)(puVar34 + 0x67698))(iStack_84);" (call_expression "(**(code **)(puVar34 + 0x67698))(iStack_84)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(iStack_84)" ( identifier ))) ;)) }))) }) (else_clause "else {\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }" else (compound_statement "{\n      pnVar28 = pnVar30;\n      pnVar29 = pnVar30;\n      if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }\n      uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);\n      if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (piVar18[1] == 0x44) goto LAB_0004945c;\n      if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }\n      piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);\n      iVar9 = piVar18[5];\n      pcVar36 = *(code **)(puVar34 + 0x676d8);\n      piVar17[5] = 0;\n      iVar9 = (*pcVar36)(iVar9);\n      iVar11 = piVar18[3];\n      iVar10 = piVar18[4];\n      piVar17[3] = iVar9;\n      piVar17[1] = iVar11;\n      if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }\n      pcVar36 = *(code **)(puVar34 + 0x6777c);\n      ptVar26 = psVar25->rportfwds;\n      *piVar17 = piVar18[2];\n      piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);\n      if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }\n    }" { (expression_statement "pnVar28 = pnVar30;" (assignment_expression "pnVar28 = pnVar30" identifier = identifier) ;) (expression_statement "pnVar29 = pnVar30;" (assignment_expression "pnVar29 = pnVar30" identifier = identifier) ;) (if_statement "if ((node234_conflict *)piVar18[7] != (node234_conflict *)0x0) {\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }" if (parenthesized_expression "((node234_conflict *)piVar18[7] != (node234_conflict *)0x0)" ( (binary_expression "(node234_conflict *)piVar18[7] != (node234_conflict *)0x0" (cast_expression "(node234_conflict *)piVar18[7]" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[7]" identifier [ number_literal ])) != (cast_expression "(node234_conflict *)0x0" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pnVar28 = (node234_conflict *)piVar18[7];\n        pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);\n      }" { (expression_statement "pnVar28 = (node234_conflict *)piVar18[7];" (assignment_expression "pnVar28 = (node234_conflict *)piVar18[7]" identifier = (cast_expression "(node234_conflict *)piVar18[7]" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[7]" identifier [ number_literal ]))) ;) (expression_statement "pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720);" (assignment_expression "pnVar29 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720)" identifier = (cast_expression "(node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4720)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x4720)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4720" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29);" (assignment_expression "uVar14 = (**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29)" identifier = (call_expression "(**(code **)(puVar34 + 0x676cc))\n                         (*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29)" (parenthesized_expression "(**(code **)(puVar34 + 0x676cc))" ( (pointer_expression "**(code **)(puVar34 + 0x676cc)" * (pointer_expression "*(code **)(puVar34 + 0x676cc)" * (cast_expression "(code **)(puVar34 + 0x676cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676cc)" ( (binary_expression "puVar34 + 0x676cc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x67670) + 0x4800,piVar18[5],pnVar28,pnVar29)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4800" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) , (subscript_expression "piVar18[5]" identifier [ number_literal ]) , identifier , identifier )))) ;) (if_statement "if (piVar18[1] == 0x4c) {\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }" if (parenthesized_expression "(piVar18[1] == 0x4c)" ( (binary_expression "piVar18[1] == 0x4c" (subscript_expression "piVar18[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);\n        if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);\n        goto LAB_000495e0;\n      }" { (expression_statement "iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2]);" (assignment_expression "iStack_84 = (**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2])" identifier = (call_expression "(**(code **)(puVar34 + 0x67ca0))(piVar18[5],piVar18[3],piVar18[4],piVar18[2])" (parenthesized_expression "(**(code **)(puVar34 + 0x67ca0))" ( (pointer_expression "**(code **)(puVar34 + 0x67ca0)" * (pointer_expression "*(code **)(puVar34 + 0x67ca0)" * (cast_expression "(code **)(puVar34 + 0x67ca0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67ca0)" ( (binary_expression "puVar34 + 0x67ca0" identifier + number_literal) ))))) )) (argument_list "(piVar18[5],piVar18[3],piVar18[4],piVar18[2])" ( (subscript_expression "piVar18[5]" identifier [ number_literal ]) , (subscript_expression "piVar18[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[4]" identifier [ number_literal ]) , (subscript_expression "piVar18[2]" identifier [ number_literal ]) )))) ;) (if_statement "if (piVar18[9] == 1) {\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" if (parenthesized_expression "(piVar18[9] == 1)" ( (binary_expression "piVar18[9] == 1" (subscript_expression "piVar18[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);\n          if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }\n        }" { (expression_statement "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724);" (assignment_expression "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724)" identifier = (cast_expression "(node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x4724)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x4724)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4724" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iStack_84 == 0) {\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }" if (parenthesized_expression "(iStack_84 == 0)" ( (binary_expression "iStack_84 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar9 = *(int *)(puVar34 + 0x67670);\n            goto LAB_00049828;\n          }" { (expression_statement "iVar9 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar9 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00049828;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" else (compound_statement "{\n          if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }\n          iVar9 = *(int *)(puVar34 + 0x67670);\n          if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" { (if_statement "if (piVar18[9] == 2) {\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }" if (parenthesized_expression "(piVar18[9] == 2)" ( (binary_expression "piVar18[9] == 2" (subscript_expression "piVar18[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);\n          }" { (expression_statement "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c);" (assignment_expression "pnVar27 = (node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c)" identifier = (cast_expression "(node234_conflict *)(*(int *)(puVar34 + 0x67670) + 0x472c)" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x472c)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x472c" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar9 = *(int *)(puVar34 + 0x67670);" (assignment_expression "iVar9 = *(int *)(puVar34 + 0x67670)" identifier = (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) ))))) ;) (if_statement "if (iStack_84 == 0) {\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }" if (parenthesized_expression "(iStack_84 == 0)" ( (binary_expression "iStack_84 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);\n            goto LAB_00049208;\n          }" { (labeled_statement "LAB_00049828:\n            (*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);" statement_identifier : (expression_statement "(*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2);" (call_expression "(*pcVar35)(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(psVar25,iVar9 + 0x4870,pnVar27,unaff_s2)" ( identifier , (binary_expression "iVar9 + 0x4870" identifier + number_literal) , identifier , identifier ))) ;)) (goto_statement "goto LAB_00049208;" goto statement_identifier ;) })) }))) (expression_statement "(*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2);" (call_expression "(*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(psVar25,*(int *)(puVar34 + 0x67670) + 0x4870,pnVar27,unaff_s2)" ( identifier , (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4870" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_000495e0;" goto statement_identifier ;) })) (if_statement "if (piVar18[1] == 0x44) goto LAB_0004945c;" if (parenthesized_expression "(piVar18[1] == 0x44)" ( (binary_expression "piVar18[1] == 0x44" (subscript_expression "piVar18[1]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0004945c;" goto statement_identifier ;)) (if_statement "if (psVar25->rportfwds == (tree234 *)0x0) {\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }" if (parenthesized_expression "(psVar25->rportfwds == (tree234 *)0x0)" ( (binary_expression "psVar25->rportfwds == (tree234 *)0x0" (field_expression "psVar25->rportfwds" identifier -> field_identifier) == (cast_expression "(tree234 *)0x0" ( (type_descriptor "tree234 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }\n      }" { (if_statement "if (psVar25->version == 1) {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }\n        else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }" if (parenthesized_expression "(psVar25->version == 1)" ( (binary_expression "psVar25->version == 1" (field_expression "psVar25->version" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);\n          psVar25->rportfwds = ptVar26;\n        }" { (expression_statement "ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc);" (assignment_expression "ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc)" identifier = (cast_expression "(tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc)" ( (type_descriptor "tree234 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2cfc)" (parenthesized_expression "(**(code **)(puVar34 + 0x67784))" ( (pointer_expression "**(code **)(puVar34 + 0x67784)" * (pointer_expression "*(code **)(puVar34 + 0x67784)" * (cast_expression "(code **)(puVar34 + 0x67784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67784)" ( (binary_expression "puVar34 + 0x67784" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x67b2c) + -0x2cfc)" ( (binary_expression "*(int *)(puVar34 + 0x67b2c) + -0x2cfc" (pointer_expression "*(int *)(puVar34 + 0x67b2c)" * (cast_expression "(int *)(puVar34 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67b2c)" ( (binary_expression "puVar34 + 0x67b2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "psVar25->rportfwds = ptVar26;" (assignment_expression "psVar25->rportfwds = ptVar26" (field_expression "psVar25->rportfwds" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }" else (compound_statement "{\n          ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);\n          psVar25->rportfwds = ptVar26;\n        }" { (expression_statement "ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0);" (assignment_expression "ptVar26 = (tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0)" identifier = (cast_expression "(tree234 *)\n                    (**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0)" ( (type_descriptor "tree234 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x67784))(*(int *)(puVar34 + 0x67b2c) + -0x2da0)" (parenthesized_expression "(**(code **)(puVar34 + 0x67784))" ( (pointer_expression "**(code **)(puVar34 + 0x67784)" * (pointer_expression "*(code **)(puVar34 + 0x67784)" * (cast_expression "(code **)(puVar34 + 0x67784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67784)" ( (binary_expression "puVar34 + 0x67784" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x67b2c) + -0x2da0)" ( (binary_expression "*(int *)(puVar34 + 0x67b2c) + -0x2da0" (pointer_expression "*(int *)(puVar34 + 0x67b2c)" * (cast_expression "(int *)(puVar34 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67b2c)" ( (binary_expression "puVar34 + 0x67b2c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "psVar25->rportfwds = ptVar26;" (assignment_expression "psVar25->rportfwds = ptVar26" (field_expression "psVar25->rportfwds" identifier -> field_identifier) = identifier) ;) }))) })) (expression_statement "piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c);" (assignment_expression "piVar17 = (int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c)" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x676d0))(1,0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x676d0))(1,0x1c)" (parenthesized_expression "(**(code **)(puVar34 + 0x676d0))" ( (pointer_expression "**(code **)(puVar34 + 0x676d0)" * (pointer_expression "*(code **)(puVar34 + 0x676d0)" * (cast_expression "(code **)(puVar34 + 0x676d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d0)" ( (binary_expression "puVar34 + 0x676d0" identifier + number_literal) ))))) )) (argument_list "(1,0x1c)" ( number_literal , number_literal ))))) ;) (expression_statement "iVar9 = piVar18[5];" (assignment_expression "iVar9 = piVar18[5]" identifier = (subscript_expression "piVar18[5]" identifier [ number_literal ])) ;) (expression_statement "pcVar36 = *(code **)(puVar34 + 0x676d8);" (assignment_expression "pcVar36 = *(code **)(puVar34 + 0x676d8)" identifier = (pointer_expression "*(code **)(puVar34 + 0x676d8)" * (cast_expression "(code **)(puVar34 + 0x676d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d8)" ( (binary_expression "puVar34 + 0x676d8" identifier + number_literal) ))))) ;) (expression_statement "piVar17[5] = 0;" (assignment_expression "piVar17[5] = 0" (subscript_expression "piVar17[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = (*pcVar36)(iVar9);" (assignment_expression "iVar9 = (*pcVar36)(iVar9)" identifier = (call_expression "(*pcVar36)(iVar9)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(iVar9)" ( identifier )))) ;) (expression_statement "iVar11 = piVar18[3];" (assignment_expression "iVar11 = piVar18[3]" identifier = (subscript_expression "piVar18[3]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = piVar18[4];" (assignment_expression "iVar10 = piVar18[4]" identifier = (subscript_expression "piVar18[4]" identifier [ number_literal ])) ;) (expression_statement "piVar17[3] = iVar9;" (assignment_expression "piVar17[3] = iVar9" (subscript_expression "piVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar17[1] = iVar11;" (assignment_expression "piVar17[1] = iVar11" (subscript_expression "piVar17[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar10 == 0) {\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }\n      else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);\n        if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }\n      }" { (expression_statement "iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a);" (assignment_expression "iVar9 = (**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a)" identifier = (call_expression "(**(code **)(puVar34 + 0x676fc))(pPVar5,0x9a)" (parenthesized_expression "(**(code **)(puVar34 + 0x676fc))" ( (pointer_expression "**(code **)(puVar34 + 0x676fc)" * (pointer_expression "*(code **)(puVar34 + 0x676fc)" * (cast_expression "(code **)(puVar34 + 0x676fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676fc)" ( (binary_expression "puVar34 + 0x676fc" identifier + number_literal) ))))) )) (argument_list "(pPVar5,0x9a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 == 0) {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }\n        else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);\n          piVar17[2] = iVar9;\n        }" { (expression_statement "iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4);" (assignment_expression "iVar9 = (**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4)" identifier = (call_expression "(**(code **)(puVar34 + 0x676d8))(*(int *)(puVar34 + 0x67670) + 0x47e4)" (parenthesized_expression "(**(code **)(puVar34 + 0x676d8))" ( (pointer_expression "**(code **)(puVar34 + 0x676d8)" * (pointer_expression "*(code **)(puVar34 + 0x676d8)" * (cast_expression "(code **)(puVar34 + 0x676d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d8)" ( (binary_expression "puVar34 + 0x676d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x67670) + 0x47e4)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x47e4" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar17[2] = iVar9;" (assignment_expression "piVar17[2] = iVar9" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }" else (compound_statement "{\n          iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);\n          piVar17[2] = iVar9;\n        }" { (expression_statement "iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30);" (assignment_expression "iVar9 = (**(code **)(puVar34 + 0x676d8))(pnVar30)" identifier = (call_expression "(**(code **)(puVar34 + 0x676d8))(pnVar30)" (parenthesized_expression "(**(code **)(puVar34 + 0x676d8))" ( (pointer_expression "**(code **)(puVar34 + 0x676d8)" * (pointer_expression "*(code **)(puVar34 + 0x676d8)" * (cast_expression "(code **)(puVar34 + 0x676d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d8)" ( (binary_expression "puVar34 + 0x676d8" identifier + number_literal) ))))) )) (argument_list "(pnVar30)" ( identifier )))) ;) (expression_statement "piVar17[2] = iVar9;" (assignment_expression "piVar17[2] = iVar9" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }" else (compound_statement "{\n        iVar9 = (**(code **)(puVar34 + 0x676d8))();\n        piVar17[2] = iVar9;\n      }" { (expression_statement "iVar9 = (**(code **)(puVar34 + 0x676d8))();" (assignment_expression "iVar9 = (**(code **)(puVar34 + 0x676d8))()" identifier = (call_expression "(**(code **)(puVar34 + 0x676d8))()" (parenthesized_expression "(**(code **)(puVar34 + 0x676d8))" ( (pointer_expression "**(code **)(puVar34 + 0x676d8)" * (pointer_expression "*(code **)(puVar34 + 0x676d8)" * (cast_expression "(code **)(puVar34 + 0x676d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x676d8)" ( (binary_expression "puVar34 + 0x676d8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "piVar17[2] = iVar9;" (assignment_expression "piVar17[2] = iVar9" (subscript_expression "piVar17[2]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "pcVar36 = *(code **)(puVar34 + 0x6777c);" (assignment_expression "pcVar36 = *(code **)(puVar34 + 0x6777c)" identifier = (pointer_expression "*(code **)(puVar34 + 0x6777c)" * (cast_expression "(code **)(puVar34 + 0x6777c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x6777c)" ( (binary_expression "puVar34 + 0x6777c" identifier + number_literal) ))))) ;) (expression_statement "ptVar26 = psVar25->rportfwds;" (assignment_expression "ptVar26 = psVar25->rportfwds" identifier = (field_expression "psVar25->rportfwds" identifier -> field_identifier)) ;) (expression_statement "*piVar17 = piVar18[2];" (assignment_expression "*piVar17 = piVar18[2]" (pointer_expression "*piVar17" * identifier) = (subscript_expression "piVar18[2]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = (int *)(*pcVar36)(ptVar26,piVar17);" (assignment_expression "piVar19 = (int *)(*pcVar36)(ptVar26,piVar17)" identifier = (cast_expression "(int *)(*pcVar36)(ptVar26,piVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)(ptVar26,piVar17)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(ptVar26,piVar17)" ( identifier , identifier ))))) ;) (if_statement "if (piVar17 == piVar19) {\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }\n      else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }" if (parenthesized_expression "(piVar17 == piVar19)" ( (binary_expression "piVar17 == piVar19" identifier == identifier) )) (compound_statement "{\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);\n        iVar9 = psVar25->version;\n        piVar17[4] = unaff_s2;\n        piVar18[8] = (int)piVar17;\n        piVar17[6] = (int)piVar18;\n        if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }\n        unaff_s2 = 0;\n        send_packet(psVar25,0x1c,1,piVar18[2]);\n        pnVar27 = (node234_conflict *)0xf;\n        ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);\n      }" { (expression_statement "(*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14);" (call_expression "(*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(psVar25,*(int *)(puVar34 + 0x67670) + 0x4838,unaff_s2,uVar14)" ( identifier , (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4838" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar9 = psVar25->version;" (assignment_expression "iVar9 = psVar25->version" identifier = (field_expression "psVar25->version" identifier -> field_identifier)) ;) (expression_statement "piVar17[4] = unaff_s2;" (assignment_expression "piVar17[4] = unaff_s2" (subscript_expression "piVar17[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[8] = (int)piVar17;" (assignment_expression "piVar18[8] = (int)piVar17" (subscript_expression "piVar18[8]" identifier [ number_literal ]) = (cast_expression "(int)piVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar17[6] = (int)piVar18;" (assignment_expression "piVar17[6] = (int)piVar18" (subscript_expression "piVar17[6]" identifier [ number_literal ]) = (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar9 != 1) {\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }" if (parenthesized_expression "(iVar9 != 1)" ( (binary_expression "iVar9 != 1" identifier != number_literal) )) (compound_statement "{\n          pPVar5 = ssh2_pkt_init(0x50);\n          ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));\n          uStack_61 = 1;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar5,&uStack_61,1);\n        }" { (expression_statement "pPVar5 = ssh2_pkt_init(0x50);" (assignment_expression "pPVar5 = ssh2_pkt_init(0x50)" identifier = (call_expression "ssh2_pkt_init(0x50)" identifier (argument_list "(0x50)" ( number_literal )))) ;) (expression_statement "ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860));" (call_expression "ssh_pkt_addstring(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860))" identifier (argument_list "(pPVar5,(char *)(*(int *)(puVar34 + 0x67670) + 0x4860))" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x67670) + 0x4860)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x67670) + 0x4860)" ( (binary_expression "*(int *)(puVar34 + 0x67670) + 0x4860" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "uStack_61 = 1;" (assignment_expression "uStack_61 = 1" identifier = number_literal) ;) comment (expression_statement "ssh_pkt_adddata(pPVar5,&uStack_61,1);" (call_expression "ssh_pkt_adddata(pPVar5,&uStack_61,1)" identifier (argument_list "(pPVar5,&uStack_61,1)" ( identifier , (pointer_expression "&uStack_61" & identifier) , number_literal ))) ;) })) (expression_statement "unaff_s2 = 0;" (assignment_expression "unaff_s2 = 0" identifier = number_literal) ;) (expression_statement "send_packet(psVar25,0x1c,1,piVar18[2]);" (call_expression "send_packet(psVar25,0x1c,1,piVar18[2])" identifier (argument_list "(psVar25,0x1c,1,piVar18[2])" ( identifier , number_literal , number_literal , (subscript_expression "piVar18[2]" identifier [ number_literal ]) ))) ;) (expression_statement "pnVar27 = (node234_conflict *)0xf;" (assignment_expression "pnVar27 = (node234_conflict *)0xf" identifier = (cast_expression "(node234_conflict *)0xf" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17);" (call_expression "ssh_queue_handler(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17)" identifier (argument_list "(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68),\n                          piVar17)" ( identifier , number_literal , number_literal , (call_expression "(chandler_fn_t)(*(int *)(puVar34 + 0x67b2c) + -0x2a68)" (parenthesized_expression "(chandler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x67b2c) + -0x2a68)" ( (binary_expression "*(int *)(puVar34 + 0x67b2c) + -0x2a68" (pointer_expression "*(int *)(puVar34 + 0x67b2c)" * (cast_expression "(int *)(puVar34 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67b2c)" ( (binary_expression "puVar34 + 0x67b2c" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) }) (else_clause "else {\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }" else (compound_statement "{\n        pnVar27 = (node234_conflict *)piVar18[5];\n        (*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);\n        (**(code **)(puVar34 + 0x67698))(piVar17);\n      }" { (expression_statement "pnVar27 = (node234_conflict *)piVar18[5];" (assignment_expression "pnVar27 = (node234_conflict *)piVar18[5]" identifier = (cast_expression "(node234_conflict *)piVar18[5]" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[5]" identifier [ number_literal ]))) ;) (expression_statement "(*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3]);" (call_expression "(*pcVar35)(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3])" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(psVar25,*(int *)(puVar34 + 0x67670) + 0x480c,pnVar27,piVar18[3])" ( identifier , (binary_expression "*(int *)(puVar34 + 0x67670) + 0x480c" (pointer_expression "*(int *)(puVar34 + 0x67670)" * (cast_expression "(int *)(puVar34 + 0x67670)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x67670)" ( (binary_expression "puVar34 + 0x67670" identifier + number_literal) )))) + number_literal) , identifier , (subscript_expression "piVar18[3]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x67698))(piVar17);" (call_expression "(**(code **)(puVar34 + 0x67698))(piVar17)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(piVar17)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_00049208:\n    (**(code **)(puVar34 + 0x67698))(unaff_s2);" statement_identifier : (expression_statement "(**(code **)(puVar34 + 0x67698))(unaff_s2);" (call_expression "(**(code **)(puVar34 + 0x67698))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;)) (expression_statement "(**(code **)(puVar34 + 0x67698))(uVar14);" (call_expression "(**(code **)(puVar34 + 0x67698))(uVar14)" (parenthesized_expression "(**(code **)(puVar34 + 0x67698))" ( (pointer_expression "**(code **)(puVar34 + 0x67698)" * (pointer_expression "*(code **)(puVar34 + 0x67698)" * (cast_expression "(code **)(puVar34 + 0x67698)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67698)" ( (binary_expression "puVar34 + 0x67698" identifier + number_literal) ))))) )) (argument_list "(uVar14)" ( identifier ))) ;) })) (expression_statement "pPVar31 = (Packet *)((int)&pPVar31->length + 1);" (assignment_expression "pPVar31 = (Packet *)((int)&pPVar31->length + 1)" identifier = (cast_expression "(Packet *)((int)&pPVar31->length + 1)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar31->length + 1)" ( (binary_expression "(int)&pPVar31->length + 1" (cast_expression "(int)&pPVar31->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar31->length" & (field_expression "pPVar31->length" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "ptVar26 = psVar25->portfwds;" (assignment_expression "ptVar26 = psVar25->portfwds" identifier = (field_expression "psVar25->portfwds" identifier -> field_identifier)) ;) (expression_statement "pkt = pPVar31;" (assignment_expression "pkt = pPVar31" identifier = identifier) ;) (expression_statement "piVar18 = (int *)(**(code **)(puVar34 + 0x67790))();" (assignment_expression "piVar18 = (int *)(**(code **)(puVar34 + 0x67790))()" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x67790))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x67790))()" (parenthesized_expression "(**(code **)(puVar34 + 0x67790))" ( (pointer_expression "**(code **)(puVar34 + 0x67790)" * (pointer_expression "*(code **)(puVar34 + 0x67790)" * (cast_expression "(code **)(puVar34 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x67790)" ( (binary_expression "puVar34 + 0x67790" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto joined_r0x0004902c;" goto statement_identifier ;) (labeled_statement "LAB_00049064:\n  if (iStack_5c == *piVar6) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_5c == *piVar6) {\n    return;\n  }" if (parenthesized_expression "(iStack_5c == *piVar6)" ( (binary_expression "iStack_5c == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x68158);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x68158)" identifier = (pointer_expression "*(code **)(puVar34 + 0x68158)" * (cast_expression "(code **)(puVar34 + 0x68158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x68158)" ( (binary_expression "puVar34 + 0x68158" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = ssh_size;" (assignment_expression "pcVar36 = ssh_size" identifier = identifier) ;) (expression_statement "(*pcVar35)();" (call_expression "(*pcVar35)()" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar35 + 0x6e80c;" (assignment_expression "pcStack_e8 = pcVar35 + 0x6e80c" identifier = (binary_expression "pcVar35 + 0x6e80c" identifier + number_literal)) ;) (expression_statement "p_Var20 = ptVar26[0x28].cmp;" (assignment_expression "p_Var20 = ptVar26[0x28].cmp" identifier = (field_expression "ptVar26[0x28].cmp" (subscript_expression "ptVar26[0x28]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "ptVar26[0x23].cmp = (cmpfn234)pkt;" (assignment_expression "ptVar26[0x23].cmp = (cmpfn234)pkt" (field_expression "ptVar26[0x23].cmp" (subscript_expression "ptVar26[0x23]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(cmpfn234)pkt" ( (type_descriptor "cmpfn234" type_identifier) ) identifier)) ;) (expression_statement "ptVar26[0x24].root = pnVar27;" (assignment_expression "ptVar26[0x24].root = pnVar27" (field_expression "ptVar26[0x24].root" (subscript_expression "ptVar26[0x24]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "piVar6 = *(int **)(pcVar35 + 0x67358);" (assignment_expression "piVar6 = *(int **)(pcVar35 + 0x67358)" identifier = (pointer_expression "*(int **)(pcVar35 + 0x67358)" * (cast_expression "(int **)(pcVar35 + 0x67358)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x67358)" ( (binary_expression "pcVar35 + 0x67358" identifier + number_literal) ))))) ;) (expression_statement "ssh_00 = (Ssh_conflict)*piVar6;" (assignment_expression "ssh_00 = (Ssh_conflict)*piVar6" identifier = (binary_expression "(Ssh_conflict)*piVar6" (parenthesized_expression "(Ssh_conflict)" ( identifier )) * identifier)) ;) (expression_statement "psStack_dc = ssh_00;" (assignment_expression "psStack_dc = ssh_00" identifier = identifier) ;) (expression_statement "pPStack_d8 = pPVar31;" (assignment_expression "pPStack_d8 = pPVar31" identifier = identifier) ;) (expression_statement "pnStack_d4 = pnVar30;" (assignment_expression "pnStack_d4 = pnVar30" identifier = identifier) ;) (expression_statement "uStack_d0 = unaff_s2;" (assignment_expression "uStack_d0 = unaff_s2" identifier = identifier) ;) (expression_statement "psStack_cc = psVar25;" (assignment_expression "psStack_cc = psVar25" identifier = identifier) ;) (expression_statement "uStack_c8 = uVar14;" (assignment_expression "uStack_c8 = uVar14" identifier = identifier) ;) (expression_statement "pcStack_c4 = pcVar36;" (assignment_expression "pcStack_c4 = pcVar36" identifier = identifier) ;) (if_statement "if (p_Var20 == (cmpfn234)0x2) {\n    ptVar26[0x29].root = (node234_conflict *)0x1;\n  }\n  else if (p_Var20 == (cmpfn234)0x3) {\n    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);\n    return;\n  }" if (parenthesized_expression "(p_Var20 == (cmpfn234)0x2)" ( (binary_expression "p_Var20 == (cmpfn234)0x2" identifier == (cast_expression "(cmpfn234)0x2" ( (type_descriptor "cmpfn234" type_identifier) ) number_literal)) )) (compound_statement "{\n    ptVar26[0x29].root = (node234_conflict *)0x1;\n  }" { (expression_statement "ptVar26[0x29].root = (node234_conflict *)0x1;" (assignment_expression "ptVar26[0x29].root = (node234_conflict *)0x1" (field_expression "ptVar26[0x29].root" (subscript_expression "ptVar26[0x29]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(node234_conflict *)0x1" ( (type_descriptor "node234_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (p_Var20 == (cmpfn234)0x3) {\n    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);\n    return;\n  }" else (if_statement "if (p_Var20 == (cmpfn234)0x3) {\n    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);\n    return;\n  }" if (parenthesized_expression "(p_Var20 == (cmpfn234)0x3)" ( (binary_expression "p_Var20 == (cmpfn234)0x3" identifier == (cast_expression "(cmpfn234)0x3" ( (type_descriptor "cmpfn234" type_identifier) ) number_literal)) )) (compound_statement "{\n    (**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);\n    return;\n  }" { (expression_statement "(**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16);" (call_expression "(**(code **)(pcVar35 + 0x668d0))(ptVar26[0x49].root,0x16)" (parenthesized_expression "(**(code **)(pcVar35 + 0x668d0))" ( (pointer_expression "**(code **)(pcVar35 + 0x668d0)" * (pointer_expression "*(code **)(pcVar35 + 0x668d0)" * (cast_expression "(code **)(pcVar35 + 0x668d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x668d0)" ( (binary_expression "pcVar35 + 0x668d0" identifier + number_literal) ))))) )) (argument_list "(ptVar26[0x49].root,0x16)" ( (field_expression "ptVar26[0x49].root" (subscript_expression "ptVar26[0x49]" identifier [ number_literal ]) . field_identifier) , number_literal ))) ;) (return_statement "return;" return ;) })))) (if_statement "if (ssh_00 == (Ssh_conflict)*piVar6) {\n    return;\n  }" if (parenthesized_expression "(ssh_00 == (Ssh_conflict)*piVar6)" ( (binary_expression "ssh_00 == (Ssh_conflict)*piVar6" identifier == (binary_expression "(Ssh_conflict)*piVar6" (parenthesized_expression "(Ssh_conflict)" ( identifier )) * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar35 = *(code **)(pcVar35 + 0x6732c);" (assignment_expression "pcVar35 = *(code **)(pcVar35 + 0x6732c)" identifier = (pointer_expression "*(code **)(pcVar35 + 0x6732c)" * (cast_expression "(code **)(pcVar35 + 0x6732c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x6732c)" ( (binary_expression "pcVar35 + 0x6732c" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = ssh1_msg_port_open;" (assignment_expression "pcVar36 = ssh1_msg_port_open" identifier = identifier) ;) (expression_statement "(*pcVar35)();" (call_expression "(*pcVar35)()" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar18 = *(int **)(pcVar35 + 0x671a4);" (assignment_expression "piVar18 = *(int **)(pcVar35 + 0x671a4)" identifier = (pointer_expression "*(int **)(pcVar35 + 0x671a4)" * (cast_expression "(int **)(pcVar35 + 0x671a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x671a4)" ( (binary_expression "pcVar35 + 0x671a4" identifier + number_literal) ))))) ;) (expression_statement "iStack_13c = *piVar18;" (assignment_expression "iStack_13c = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "pPVar5 = pkt;" (assignment_expression "pPVar5 = pkt" identifier = identifier) ;) (expression_statement "ptStack_138 = ptVar26;" (assignment_expression "ptStack_138 = ptVar26" identifier = identifier) ;) (expression_statement "piStack_134 = piVar6;" (assignment_expression "piStack_134 = piVar6" identifier = identifier) ;) (expression_statement "uStack_130 = unaff_s2;" (assignment_expression "uStack_130 = unaff_s2" identifier = identifier) ;) (expression_statement "psStack_12c = psVar25;" (assignment_expression "psStack_12c = psVar25" identifier = identifier) ;) (expression_statement "uStack_128 = uVar14;" (assignment_expression "uStack_128 = uVar14" identifier = identifier) ;) (expression_statement "piStack_124 = piVar17;" (assignment_expression "piStack_124 = piVar17" identifier = identifier) ;) (expression_statement "iStack_120 = iVar8;" (assignment_expression "iStack_120 = iVar8" identifier = identifier) ;) (expression_statement "pcStack_11c = pcVar36;" (assignment_expression "pcStack_11c = pcVar36" identifier = identifier) ;) (expression_statement "uVar21 = ssh_pkt_getuint32(pkt);" (assignment_expression "uVar21 = ssh_pkt_getuint32(pkt)" identifier = (call_expression "ssh_pkt_getuint32(pkt)" identifier (argument_list "(pkt)" ( identifier )))) ;) (expression_statement "ssh_pkt_getstring(pPVar5,&pcStack_15c,&iStack_160);" (call_expression "ssh_pkt_getstring(pPVar5,&pcStack_15c,&iStack_160)" identifier (argument_list "(pPVar5,&pcStack_15c,&iStack_160)" ( identifier , (pointer_expression "&pcStack_15c" & identifier) , (pointer_expression "&iStack_160" & identifier) ))) ;) (expression_statement "uVar22 = ssh_pkt_getuint32(pkt);" (assignment_expression "uVar22 = ssh_pkt_getuint32(pkt)" identifier = (call_expression "ssh_pkt_getuint32(pkt)" identifier (argument_list "(pkt)" ( identifier )))) ;) (if_statement "if (pcStack_15c == (char *)0x0) {\n    pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54);\n  }" if (parenthesized_expression "(pcStack_15c == (char *)0x0)" ( (binary_expression "pcStack_15c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54);\n  }" { (expression_statement "pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54);" (assignment_expression "pcStack_15c = (char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54)" identifier = (cast_expression "(char *)(*(int *)(pcVar35 + 0x66690) + 0x2d54)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar35 + 0x66690) + 0x2d54)" ( (binary_expression "*(int *)(pcVar35 + 0x66690) + 0x2d54" (pointer_expression "*(int *)(pcVar35 + 0x66690)" * (cast_expression "(int *)(pcVar35 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x66690)" ( (binary_expression "pcVar35 + 0x66690" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "psStack_14c = (Ssh_conflict)\n                (**(code **)(pcVar35 + 0x666ec))\n                          (*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c);" (assignment_expression "psStack_14c = (Ssh_conflict)\n                (**(code **)(pcVar35 + 0x666ec))\n                          (*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c)" identifier = (call_expression "(Ssh_conflict)\n                (**(code **)(pcVar35 + 0x666ec))\n                          (*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c)" (call_expression "(Ssh_conflict)\n                (**(code **)(pcVar35 + 0x666ec))" (parenthesized_expression "(Ssh_conflict)" ( identifier )) (argument_list "(**(code **)(pcVar35 + 0x666ec))" ( (pointer_expression "**(code **)(pcVar35 + 0x666ec)" * (pointer_expression "*(code **)(pcVar35 + 0x666ec)" * (cast_expression "(code **)(pcVar35 + 0x666ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x666ec)" ( (binary_expression "pcVar35 + 0x666ec" identifier + number_literal) ))))) ))) (argument_list "(*(int *)(pcVar35 + 0x66690) + 0x3218,iStack_160,pcStack_15c)" ( (binary_expression "*(int *)(pcVar35 + 0x66690) + 0x3218" (pointer_expression "*(int *)(pcVar35 + 0x66690)" * (cast_expression "(int *)(pcVar35 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x66690)" ( (binary_expression "pcVar35 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uStack_154 = uVar22;" (assignment_expression "uStack_154 = uVar22" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar35 + 0x667c0))(ssh_00->rportfwds,auStack_158,0);" (assignment_expression "iVar4 = (**(code **)(pcVar35 + 0x667c0))(ssh_00->rportfwds,auStack_158,0)" identifier = (call_expression "(**(code **)(pcVar35 + 0x667c0))(ssh_00->rportfwds,auStack_158,0)" (parenthesized_expression "(**(code **)(pcVar35 + 0x667c0))" ( (pointer_expression "**(code **)(pcVar35 + 0x667c0)" * (pointer_expression "*(code **)(pcVar35 + 0x667c0)" * (cast_expression "(code **)(pcVar35 + 0x667c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x667c0)" ( (binary_expression "pcVar35 + 0x667c0" identifier + number_literal) ))))) )) (argument_list "(ssh_00->rportfwds,auStack_158,0)" ( (field_expression "ssh_00->rportfwds" identifier -> field_identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22);\n  }\n  else {\n    psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);\n    psVar23->ssh = ssh_00;\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);\n    iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(psVar23);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22);\n  }" { (expression_statement "logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22);" (call_expression "logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22)" identifier (argument_list "(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4),psStack_14c,uVar22)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar35 + 0x66690) + 0x48e4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar35 + 0x66690) + 0x48e4)" ( (binary_expression "*(int *)(pcVar35 + 0x66690) + 0x48e4" (pointer_expression "*(int *)(pcVar35 + 0x66690)" * (cast_expression "(int *)(pcVar35 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x66690)" ( (binary_expression "pcVar35 + 0x66690" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) }) (else_clause "else {\n    psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);\n    psVar23->ssh = ssh_00;\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);\n    iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(psVar23);\n  }" else (compound_statement "{\n    psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);\n    psVar23->ssh = ssh_00;\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);\n    iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }\n    logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(iVar4);\n    (**(code **)(pcVar35 + 0x666b8))(psVar23);\n  }" { (expression_statement "psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c);" (assignment_expression "psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c)" identifier = (cast_expression "(ssh_channel *)(**(code **)(pcVar35 + 0x666f0))(1,0x5c)" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar35 + 0x666f0))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar35 + 0x666f0))" ( (pointer_expression "**(code **)(pcVar35 + 0x666f0)" * (pointer_expression "*(code **)(pcVar35 + 0x666f0)" * (cast_expression "(code **)(pcVar35 + 0x666f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x666f0)" ( (binary_expression "pcVar35 + 0x666f0" identifier + number_literal) ))))) )) (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "psVar23->ssh = ssh_00;" (assignment_expression "psVar23->ssh = ssh_00" (field_expression "psVar23->ssh" identifier -> field_identifier) = identifier) ;) (expression_statement "logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22);" (call_expression "logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22)" identifier (argument_list "(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910),psStack_14c,uVar22)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar35 + 0x66690) + 0x4910)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar35 + 0x66690) + 0x4910)" ( (binary_expression "*(int *)(pcVar35 + 0x66690) + 0x4910" (pointer_expression "*(int *)(pcVar35 + 0x66690)" * (cast_expression "(int *)(pcVar35 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x66690)" ( (binary_expression "pcVar35 + 0x66690" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));" (assignment_expression "iVar4 = (**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" identifier = (call_expression "(**(code **)(pcVar35 + 0x66cac))\n                      (&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" (parenthesized_expression "(**(code **)(pcVar35 + 0x66cac))" ( (pointer_expression "**(code **)(pcVar35 + 0x66cac)" * (pointer_expression "*(code **)(pcVar35 + 0x66cac)" * (cast_expression "(code **)(pcVar35 + 0x66cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x66cac)" ( (binary_expression "pcVar35 + 0x66cac" identifier + number_literal) ))))) )) (argument_list "(&psVar23->u,psStack_14c,uVar22,psVar23,ssh_00->conf,\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" ( (pointer_expression "&psVar23->u" & (field_expression "psVar23->u" identifier -> field_identifier)) , identifier , identifier , identifier , (field_expression "ssh_00->conf" identifier -> field_identifier) , (pointer_expression "*(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" * (cast_expression "(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x18) + 0x24)" ( (binary_expression "*(int *)(iVar4 + 0x18) + 0x24" (pointer_expression "*(int *)(iVar4 + 0x18)" * (cast_expression "(int *)(iVar4 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x18)" ( (binary_expression "iVar4 + 0x18" identifier + number_literal) )))) + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      ssh_channel_init(psVar23);\n      psVar23->type = 3;\n      psVar23->remoteid = uVar21;\n      psVar23->halfopen = 0;\n      send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);\n      pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);\n      (**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);\n      goto LAB_00049cac;\n    }" { (expression_statement "ssh_channel_init(psVar23);" (call_expression "ssh_channel_init(psVar23)" identifier (argument_list "(psVar23)" ( identifier ))) ;) (expression_statement "psVar23->type = 3;" (assignment_expression "psVar23->type = 3" (field_expression "psVar23->type" identifier -> field_identifier) = number_literal) ;) (expression_statement "psVar23->remoteid = uVar21;" (assignment_expression "psVar23->remoteid = uVar21" (field_expression "psVar23->remoteid" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar23->halfopen = 0;" (assignment_expression "psVar23->halfopen = 0" (field_expression "psVar23->halfopen" identifier -> field_identifier) = number_literal) ;) (expression_statement "send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0);" (call_expression "send_packet(ssh_00,0x15,1,uVar21,1,psVar23->localid,0)" identifier (argument_list "(ssh_00,0x15,1,uVar21,1,psVar23->localid,0)" ( identifier , number_literal , number_literal , identifier , number_literal , (field_expression "psVar23->localid" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8);" (assignment_expression "pPVar5 = (Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8)" identifier = (cast_expression "(Packet *)(*(int *)(pcVar35 + 0x66690) + 0x41e8)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar35 + 0x66690) + 0x41e8)" ( (binary_expression "*(int *)(pcVar35 + 0x66690) + 0x41e8" (pointer_expression "*(int *)(pcVar35 + 0x66690)" * (cast_expression "(int *)(pcVar35 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x66690)" ( (binary_expression "pcVar35 + 0x66690" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar35 + 0x66714))(ssh_00->frontend);" (call_expression "(**(code **)(pcVar35 + 0x66714))(ssh_00->frontend)" (parenthesized_expression "(**(code **)(pcVar35 + 0x66714))" ( (pointer_expression "**(code **)(pcVar35 + 0x66714)" * (pointer_expression "*(code **)(pcVar35 + 0x66714)" * (cast_expression "(code **)(pcVar35 + 0x66714)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x66714)" ( (binary_expression "pcVar35 + 0x66714" identifier + number_literal) ))))) )) (argument_list "(ssh_00->frontend)" ( (field_expression "ssh_00->frontend" identifier -> field_identifier) ))) ;) (goto_statement "goto LAB_00049cac;" goto statement_identifier ;) })) (expression_statement "logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4);" (call_expression "logeventf(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4)" identifier (argument_list "(ssh_00,(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0),iVar4)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar35 + 0x66690) + 0x41d0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar35 + 0x66690) + 0x41d0)" ( (binary_expression "*(int *)(pcVar35 + 0x66690) + 0x41d0" (pointer_expression "*(int *)(pcVar35 + 0x66690)" * (cast_expression "(int *)(pcVar35 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x66690)" ( (binary_expression "pcVar35 + 0x66690" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (expression_statement "(**(code **)(pcVar35 + 0x666b8))(iVar4);" (call_expression "(**(code **)(pcVar35 + 0x666b8))(iVar4)" (parenthesized_expression "(**(code **)(pcVar35 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar35 + 0x666b8)" * (pointer_expression "*(code **)(pcVar35 + 0x666b8)" * (cast_expression "(code **)(pcVar35 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x666b8)" ( (binary_expression "pcVar35 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar35 + 0x666b8))(psVar23);" (call_expression "(**(code **)(pcVar35 + 0x666b8))(psVar23)" (parenthesized_expression "(**(code **)(pcVar35 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar35 + 0x666b8)" * (pointer_expression "*(code **)(pcVar35 + 0x666b8)" * (cast_expression "(code **)(pcVar35 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x666b8)" ( (binary_expression "pcVar35 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "(psVar23)" ( identifier ))) ;) }))) (expression_statement "pPVar5 = (Packet *)&DAT_00000016;" (assignment_expression "pPVar5 = (Packet *)&DAT_00000016" identifier = (cast_expression "(Packet *)&DAT_00000016" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000016" & identifier))) ;) (expression_statement "send_packet(ssh_00,0x16,1,uVar21,0);" (call_expression "send_packet(ssh_00,0x16,1,uVar21,0)" identifier (argument_list "(ssh_00,0x16,1,uVar21,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (labeled_statement "LAB_00049cac:\n  psVar25 = psStack_14c;" statement_identifier : (expression_statement "psVar25 = psStack_14c;" (assignment_expression "psVar25 = psStack_14c" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar35 + 0x666b8))();" (call_expression "(**(code **)(pcVar35 + 0x666b8))()" (parenthesized_expression "(**(code **)(pcVar35 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar35 + 0x666b8)" * (pointer_expression "*(code **)(pcVar35 + 0x666b8)" * (cast_expression "(code **)(pcVar35 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x666b8)" ( (binary_expression "pcVar35 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_13c == *piVar18) {\n    return;\n  }" if (parenthesized_expression "(iStack_13c == *piVar18)" ( (binary_expression "iStack_13c == *piVar18" identifier == (pointer_expression "*piVar18" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar35 = *(code **)(pcVar35 + 0x67178);" (assignment_expression "pcVar35 = *(code **)(pcVar35 + 0x67178)" identifier = (pointer_expression "*(code **)(pcVar35 + 0x67178)" * (cast_expression "(code **)(pcVar35 + 0x67178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x67178)" ( (binary_expression "pcVar35 + 0x67178" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar35)();" (call_expression "(*pcVar35)()" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar21 = ssh_pkt_getuint32(pPVar5);" (assignment_expression "uVar21 = ssh_pkt_getuint32(pPVar5)" identifier = (call_expression "ssh_pkt_getuint32(pPVar5)" identifier (argument_list "(pPVar5)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x493c);" (call_expression "(**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x493c)" (parenthesized_expression "(**(code **)(pcVar35 + 0x66468))" ( (pointer_expression "**(code **)(pcVar35 + 0x66468)" * (pointer_expression "*(code **)(pcVar35 + 0x66468)" * (cast_expression "(code **)(pcVar35 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x66468)" ( (binary_expression "pcVar35 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x493c)" ( (field_expression "psVar25->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar35 + 0x663e4) + 0x493c" (pointer_expression "*(int *)(pcVar35 + 0x663e4)" * (cast_expression "(int *)(pcVar35 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x663e4)" ( (binary_expression "pcVar35 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (psVar25->X11_fwd_enabled == 0) {\n    send_packet(psVar25,0x16,1,uVar21,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c);\n    return;\n  }" if (parenthesized_expression "(psVar25->X11_fwd_enabled == 0)" ( (binary_expression "psVar25->X11_fwd_enabled == 0" (field_expression "psVar25->X11_fwd_enabled" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    send_packet(psVar25,0x16,1,uVar21,0);\n                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c);\n    return;\n  }" { (expression_statement "send_packet(psVar25,0x16,1,uVar21,0);" (call_expression "send_packet(psVar25,0x16,1,uVar21,0)" identifier (argument_list "(psVar25,0x16,1,uVar21,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) comment comment (expression_statement "(**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c);" (call_expression "(**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c)" (parenthesized_expression "(**(code **)(pcVar35 + 0x66468))" ( (pointer_expression "**(code **)(pcVar35 + 0x66468)" * (pointer_expression "*(code **)(pcVar35 + 0x66468)" * (cast_expression "(code **)(pcVar35 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x66468)" ( (binary_expression "pcVar35 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x495c)" ( (field_expression "psVar25->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar35 + 0x663e4) + 0x495c" (pointer_expression "*(int *)(pcVar35 + 0x663e4)" * (cast_expression "(int *)(pcVar35 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x663e4)" ( (binary_expression "pcVar35 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x66444))(1,0x5c);" (assignment_expression "psVar23 = (ssh_channel *)(**(code **)(pcVar35 + 0x66444))(1,0x5c)" identifier = (cast_expression "(ssh_channel *)(**(code **)(pcVar35 + 0x66444))(1,0x5c)" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar35 + 0x66444))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar35 + 0x66444))" ( (pointer_expression "**(code **)(pcVar35 + 0x66444)" * (pointer_expression "*(code **)(pcVar35 + 0x66444)" * (cast_expression "(code **)(pcVar35 + 0x66444)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x66444)" ( (binary_expression "pcVar35 + 0x66444" identifier + number_literal) ))))) )) (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "psVar23->ssh = psVar25;" (assignment_expression "psVar23->ssh = psVar25" (field_expression "psVar23->ssh" identifier -> field_identifier) = identifier) ;) (expression_statement "ssh_channel_init(psVar23);" (call_expression "ssh_channel_init(psVar23)" identifier (argument_list "(psVar23)" ( identifier ))) ;) (expression_statement "pbVar24 = (bufchain_granule *)\n            (**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff);" (assignment_expression "pbVar24 = (bufchain_granule *)\n            (**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff)" identifier = (cast_expression "(bufchain_granule *)\n            (**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff)" ( (type_descriptor "bufchain_granule *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar35 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar35 + 0x669fc))" ( (pointer_expression "**(code **)(pcVar35 + 0x669fc)" * (pointer_expression "*(code **)(pcVar35 + 0x669fc)" * (cast_expression "(code **)(pcVar35 + 0x669fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x669fc)" ( (binary_expression "pcVar35 + 0x669fc" identifier + number_literal) ))))) )) (argument_list "(psVar25->x11authtree,psVar23,0,0xffffffff)" ( (field_expression "psVar25->x11authtree" identifier -> field_identifier) , identifier , number_literal , number_literal ))))) ;) (expression_statement "(psVar23->u).a.inbuffer.head = pbVar24;" (assignment_expression "(psVar23->u).a.inbuffer.head = pbVar24" (field_expression "(psVar23->u).a.inbuffer.head" (field_expression "(psVar23->u).a.inbuffer" (field_expression "(psVar23->u).a" (parenthesized_expression "(psVar23->u)" ( (field_expression "psVar23->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "psVar23->remoteid = uVar21;" (assignment_expression "psVar23->remoteid = uVar21" (field_expression "psVar23->remoteid" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar23->halfopen = 0;" (assignment_expression "psVar23->halfopen = 0" (field_expression "psVar23->halfopen" identifier -> field_identifier) = number_literal) ;) (expression_statement "psVar23->type = 1;" (assignment_expression "psVar23->type = 1" (field_expression "psVar23->type" identifier -> field_identifier) = number_literal) ;) (expression_statement "send_packet(psVar25,0x15,1,uVar21,1,psVar23->localid,0);" (call_expression "send_packet(psVar25,0x15,1,uVar21,1,psVar23->localid,0)" identifier (argument_list "(psVar25,0x15,1,uVar21,1,psVar23->localid,0)" ( identifier , number_literal , number_literal , identifier , number_literal , (field_expression "psVar23->localid" identifier -> field_identifier) , number_literal ))) ;) comment comment (expression_statement "(**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x4240);" (call_expression "(**(code **)(pcVar35 + 0x66468))(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x4240)" (parenthesized_expression "(**(code **)(pcVar35 + 0x66468))" ( (pointer_expression "**(code **)(pcVar35 + 0x66468)" * (pointer_expression "*(code **)(pcVar35 + 0x66468)" * (cast_expression "(code **)(pcVar35 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x66468)" ( (binary_expression "pcVar35 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(psVar25->frontend,*(int *)(pcVar35 + 0x663e4) + 0x4240)" ( (field_expression "psVar25->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar35 + 0x663e4) + 0x4240" (pointer_expression "*(int *)(pcVar35 + 0x663e4)" * (cast_expression "(int *)(pcVar35 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x663e4)" ( (binary_expression "pcVar35 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    \n                    \n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}\n\n" (function_definition "void FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    \n                    \n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}" primitive_type (function_declarator "FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    \n                    \n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int ***pppiVar10;" primitive_type (pointer_declarator "***pppiVar10" * (pointer_declarator "**pppiVar10" * (pointer_declarator "*pppiVar10" * identifier))) ;) (declaration "int ****ppppiVar11;" primitive_type (pointer_declarator "****ppppiVar11" * (pointer_declarator "***ppppiVar11" * (pointer_declarator "**ppppiVar11" * (pointer_declarator "*ppppiVar11" * identifier)))) ;) (declaration "int **ppiVar12;" primitive_type (pointer_declarator "**ppiVar12" * (pointer_declarator "*ppiVar12" * identifier)) ;) (declaration "int ***pppiVar13;" primitive_type (pointer_declarator "***pppiVar13" * (pointer_declarator "**pppiVar13" * (pointer_declarator "*pppiVar13" * identifier))) ;) (declaration "int ***pppiVar14;" primitive_type (pointer_declarator "***pppiVar14" * (pointer_declarator "**pppiVar14" * (pointer_declarator "*pppiVar14" * identifier))) ;) (declaration "int ****ppppiVar15;" primitive_type (pointer_declarator "****ppppiVar15" * (pointer_declarator "***ppppiVar15" * (pointer_declarator "**ppppiVar15" * (pointer_declarator "*ppppiVar15" * identifier)))) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int ****ppppiVar17;" primitive_type (pointer_declarator "****ppppiVar17" * (pointer_declarator "***ppppiVar17" * (pointer_declarator "**ppppiVar17" * (pointer_declarator "*ppppiVar17" * identifier)))) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int ****ppppiVar20;" primitive_type (pointer_declarator "****ppppiVar20" * (pointer_declarator "***ppppiVar20" * (pointer_declarator "**ppppiVar20" * (pointer_declarator "*ppppiVar20" * identifier)))) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int ****ppppiVar22;" primitive_type (pointer_declarator "****ppppiVar22" * (pointer_declarator "***ppppiVar22" * (pointer_declarator "**ppppiVar22" * (pointer_declarator "*ppppiVar22" * identifier)))) ;) (declaration "int ***unaff_s2;" primitive_type (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier))) ;) (declaration "int ***pppiVar23;" primitive_type (pointer_declarator "***pppiVar23" * (pointer_declarator "**pppiVar23" * (pointer_declarator "*pppiVar23" * identifier))) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "undefined4 uStack_160;" type_identifier identifier ;) (declaration "int iStack_15c;" primitive_type identifier ;) (declaration "undefined1 auStack_158 [4];" type_identifier (array_declarator "auStack_158 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_154;" type_identifier identifier ;) (declaration "int iStack_14c;" primitive_type identifier ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "int *piStack_134;" primitive_type (pointer_declarator "*piStack_134" * identifier) ;) (declaration "int **ppiStack_130;" primitive_type (pointer_declarator "**ppiStack_130" * (pointer_declarator "*ppiStack_130" * identifier)) ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "int ***pppiStack_128;" primitive_type (pointer_declarator "***pppiStack_128" * (pointer_declarator "**pppiStack_128" * (pointer_declarator "*pppiStack_128" * identifier))) ;) (declaration "int ***pppiStack_124;" primitive_type (pointer_declarator "***pppiStack_124" * (pointer_declarator "**pppiStack_124" * (pointer_declarator "*pppiStack_124" * identifier))) ;) (declaration "int iStack_120;" primitive_type identifier ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "int iStack_108;" primitive_type identifier ;) (declaration "undefined4 uStack_104;" type_identifier identifier ;) (declaration "int iStack_100;" primitive_type identifier ;) (declaration "undefined4 uStack_fc;" type_identifier identifier ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "undefined4 uStack_f0;" type_identifier identifier ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "int **ppiStack_e0;" primitive_type (pointer_declarator "**ppiStack_e0" * (pointer_declarator "*ppiStack_e0" * identifier)) ;) (declaration "int iStack_dc;" primitive_type identifier ;) (declaration "int **ppiStack_d8;" primitive_type (pointer_declarator "**ppiStack_d8" * (pointer_declarator "*ppiStack_d8" * identifier)) ;) (declaration "int ***pppiStack_d4;" primitive_type (pointer_declarator "***pppiStack_d4" * (pointer_declarator "**pppiStack_d4" * (pointer_declarator "*pppiStack_d4" * identifier))) ;) (declaration "int **ppiStack_d0;" primitive_type (pointer_declarator "**ppiStack_d0" * (pointer_declarator "*ppiStack_d0" * identifier)) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "int ***pppiStack_c8;" primitive_type (pointer_declarator "***pppiStack_c8" * (pointer_declarator "**pppiStack_c8" * (pointer_declarator "*pppiStack_c8" * identifier))) ;) (declaration "code *pcStack_c4;" type_identifier (pointer_declarator "*pcStack_c4" * identifier) ;) (declaration "int ***pppiStack_b0;" primitive_type (pointer_declarator "***pppiStack_b0" * (pointer_declarator "**pppiStack_b0" * (pointer_declarator "*pppiStack_b0" * identifier))) ;) (declaration "int ***pppiStack_ac;" primitive_type (pointer_declarator "***pppiStack_ac" * (pointer_declarator "**pppiStack_ac" * (pointer_declarator "*pppiStack_ac" * identifier))) ;) (declaration "int ***pppiStack_a8;" primitive_type (pointer_declarator "***pppiStack_a8" * (pointer_declarator "**pppiStack_a8" * (pointer_declarator "*pppiStack_a8" * identifier))) ;) (declaration "int *piStack_a4;" primitive_type (pointer_declarator "*piStack_a4" * identifier) ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (declaration "undefined4 uStack_90;" type_identifier identifier ;) (declaration "int ***pppiStack_8c;" primitive_type (pointer_declarator "***pppiStack_8c" * (pointer_declarator "**pppiStack_8c" * (pointer_declarator "*pppiStack_8c" * identifier))) ;) (declaration "code *pcStack_88;" type_identifier (pointer_declarator "*pcStack_88" * identifier) ;) (declaration "int ***pppiStack_84;" primitive_type (pointer_declarator "***pppiStack_84" * (pointer_declarator "**pppiStack_84" * (pointer_declarator "*pppiStack_84" * identifier))) ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "int iStack_7c;" primitive_type identifier ;) (declaration "code *pcStack_78;" type_identifier (pointer_declarator "*pcStack_78" * identifier) ;) (declaration "int *piStack_74;" primitive_type (pointer_declarator "*piStack_74" * identifier) ;) (declaration "int iStack_70;" primitive_type identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "undefined1 uStack_61;" type_identifier identifier ;) (declaration "int ***pppiStack_60;" primitive_type (pointer_declarator "***pppiStack_60" * (pointer_declarator "**pppiStack_60" * (pointer_declarator "*pppiStack_60" * identifier))) ;) (declaration "int iStack_5c;" primitive_type identifier ;) (declaration "undefined *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "int iStack_54;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b0c9c" identifier = identifier) ;) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b0c9c" * (cast_expression "(int *)PTR___stack_chk_guard_000b0c9c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "uVar5 = FUN_0003bbb8(param_2,&local_res8);" (assignment_expression "uVar5 = FUN_0003bbb8(param_2,&local_res8)" identifier = (call_expression "FUN_0003bbb8(param_2,&local_res8)" identifier (argument_list "(param_2,&local_res8)" ( identifier , (pointer_expression "&local_res8" & identifier) )))) ;) (expression_statement "iVar24 = param_1;" (assignment_expression "iVar24 = param_1" identifier = identifier) ;) (expression_statement "FUN_00048968();" (call_expression "FUN_00048968()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar4 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(iVar4 == *(int *)puVar3)" ( (binary_expression "iVar4 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar26 = PTR___stack_chk_fail_000b0c70;" (assignment_expression "puVar26 = PTR___stack_chk_fail_000b0c70" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" * (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_98 = puVar26 + 0x6f638;" (assignment_expression "puStack_98 = puVar26 + 0x6f638" identifier = (binary_expression "puVar26 + 0x6f638" identifier + number_literal)) ;) (expression_statement "piStack_74 = *(int **)(puVar26 + 0x68184);" (assignment_expression "piStack_74 = *(int **)(puVar26 + 0x68184)" identifier = (pointer_expression "*(int **)(puVar26 + 0x68184)" * (cast_expression "(int **)(puVar26 + 0x68184)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x68184)" ( (binary_expression "puVar26 + 0x68184" identifier + number_literal) ))))) ;) (expression_statement "puStack_58 = puVar3;" (assignment_expression "puStack_58 = puVar3" identifier = identifier) ;) (expression_statement "iStack_5c = *piStack_74;" (assignment_expression "iStack_5c = *piStack_74" identifier = (pointer_expression "*piStack_74" * identifier)) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "uStack_90 = uVar5;" (assignment_expression "uStack_90 = uVar5" identifier = identifier) ;) (expression_statement "iStack_54 = param_1;" (assignment_expression "iStack_54 = param_1" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }" { (expression_statement "uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);" (assignment_expression "uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" identifier = (call_expression "(**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" (parenthesized_expression "(**(code **)(puVar26 + 0x67784))" ( (pointer_expression "**(code **)(puVar26 + 0x67784)" * (pointer_expression "*(code **)(puVar26 + 0x67784)" * (cast_expression "(code **)(puVar26 + 0x67784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x67784)" ( (binary_expression "puVar26 + 0x67784" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" ( (binary_expression "*(int *)(puVar26 + 0x67b2c) + -0x2c58" (pointer_expression "*(int *)(puVar26 + 0x67b2c)" * (cast_expression "(int *)(puVar26 + 0x67b2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x67b2c)" ( (binary_expression "puVar26 + 0x67b2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar24 + 0x140) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x140) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" else (compound_statement "{\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" { (expression_statement "pcVar27 = *(code **)(puVar26 + 0x67790);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x67790)" identifier = (pointer_expression "*(code **)(puVar26 + 0x67790)" * (cast_expression "(code **)(puVar26 + 0x67790)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x67790)" ( (binary_expression "puVar26 + 0x67790" identifier + number_literal) ))))) ;) (while_statement "while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }" while (parenthesized_expression "(puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0)" ( (comma_expression "puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0" (assignment_expression "puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19)" identifier = (cast_expression "(undefined4 *)(*pcVar27)(iVar4,iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(iVar4,iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar4,iVar19)" ( identifier , identifier ))))) , (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }" { (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ea8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ea8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) ;) })) }))) (expression_statement "pppiStack_84 = (int ***)&pppiStack_60;" (assignment_expression "pppiStack_84 = (int ***)&pppiStack_60" identifier = (cast_expression "(int ***)&pppiStack_60" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&pppiStack_60" & identifier))) ;) (expression_statement "ppppiVar15 = (int ****)0x0;" (assignment_expression "ppppiVar15 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7be8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7be8)" * (pointer_expression "*(code **)(puStack_98 + -0x7be8)" * (cast_expression "(code **)(puStack_98 + -0x7be8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7be8)" ( (binary_expression "puStack_98 + -0x7be8" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9b,0,pppiStack_84)" ( identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }" { (expression_statement "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);" (assignment_expression "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x3218" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_70 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iStack_70 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);" (assignment_expression "pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" identifier = (cast_expression "(code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" ( (binary_expression "*(int *)(puStack_98 + -0x7c8c) + 0x6288" (pointer_expression "*(int *)(puStack_98 + -0x7c8c)" * (cast_expression "(int *)(puStack_98 + -0x7c8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7c8c)" ( (binary_expression "puStack_98 + -0x7c8c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_6c = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iStack_6c = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" (assignment_expression "iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (do_statement "do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);" do (compound_statement "{\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    }" { (expression_statement "pppiVar23 = (int ***)(int)*(char *)pppiStack_60;" (assignment_expression "pppiVar23 = (int ***)(int)*(char *)pppiStack_60" identifier = (cast_expression "(int ***)(int)*(char *)pppiStack_60" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (cast_expression "(int)*(char *)pppiStack_60" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)pppiStack_60" * (cast_expression "(char *)pppiStack_60" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))))) ;) (if_statement "if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" if (parenthesized_expression "((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34))" ( (binary_expression "(pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)" (parenthesized_expression "(pppiVar23 == (int ***)0x41)" ( (binary_expression "pppiVar23 == (int ***)0x41" identifier == (cast_expression "(int ***)0x41" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) || (parenthesized_expression "(((uint)pppiVar23 & 0xfffffffd) == 0x34)" ( (binary_expression "((uint)pppiVar23 & 0xfffffffd) == 0x34" (parenthesized_expression "((uint)pppiVar23 & 0xfffffffd)" ( (binary_expression "(uint)pppiVar23 & 0xfffffffd" (cast_expression "(uint)pppiVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }" { (expression_statement "unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);" (assignment_expression "unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1)" identifier = (cast_expression "(int ***)(int)*(char *)((int)pppiStack_60 + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (cast_expression "(int)*(char *)((int)pppiStack_60 + 1)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)pppiStack_60 + 1)" * (cast_expression "(char *)((int)pppiStack_60 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiStack_60 + 1)" ( (binary_expression "(int)pppiStack_60 + 1" (cast_expression "(int)pppiStack_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ;) (expression_statement "ppppiVar15 = (int ****)((int)pppiStack_60 + 1);" (assignment_expression "ppppiVar15 = (int ****)((int)pppiStack_60 + 1)" identifier = (cast_expression "(int ****)((int)pppiStack_60 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppiStack_60 + 1)" ( (binary_expression "(int)pppiStack_60 + 1" (cast_expression "(int)pppiStack_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;" if (parenthesized_expression "(unaff_s2 != (int ***)0x4c)" ( (binary_expression "unaff_s2 != (int ***)0x4c" identifier != (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048d5c;" goto statement_identifier ;)) (labeled_statement "LAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);" statement_identifier : (expression_statement "ppppiVar15 = (int ****)((int)ppppiVar15 + 1);" (assignment_expression "ppppiVar15 = (int ****)((int)ppppiVar15 + 1)" identifier = (cast_expression "(int ****)((int)ppppiVar15 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppiVar15 + 1)" ( (binary_expression "(int)ppppiVar15 + 1" (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) }) (else_clause "else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" else (compound_statement "{\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" { (expression_statement "bVar1 = pppiVar23 == (int ***)0x4c;" (assignment_expression "bVar1 = pppiVar23 == (int ***)0x4c" identifier = (binary_expression "pppiVar23 == (int ***)0x4c" identifier == (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal))) ;) (expression_statement "ppppiVar15 = (int ****)pppiStack_60;" (assignment_expression "ppppiVar15 = (int ****)pppiStack_60" identifier = (cast_expression "(int ****)pppiStack_60" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "unaff_s2 = pppiVar23;" (assignment_expression "unaff_s2 = pppiVar23" identifier = identifier) ;) (expression_statement "pppiVar23 = (int ***)0x41;" (assignment_expression "pppiVar23 = (int ***)0x41" identifier = (cast_expression "(int ***)0x41" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (if_statement "if (bVar1) goto LAB_00048e9c;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_00048e9c;" goto statement_identifier ;)) (labeled_statement "LAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;" statement_identifier : (if_statement "if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;" if (parenthesized_expression "(unaff_s2 == (int ***)0x52)" ( (binary_expression "unaff_s2 == (int ***)0x52" identifier == (cast_expression "(int ***)0x52" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048e9c;" goto statement_identifier ;))) (expression_statement "unaff_s2 = (int ***)0x4c;" (assignment_expression "unaff_s2 = (int ***)0x4c" identifier = (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) }))) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ed8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ed8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ed8)" * (cast_expression "(code **)(puStack_98 + -0x7ed8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ed8)" ( (binary_expression "puStack_98 + -0x7ed8" identifier + number_literal) ))))) )) (argument_list "(ppppiVar15,0x3a)" ( identifier , number_literal )))) ;) (expression_statement "ppppiVar20 = ppppiVar15;" (assignment_expression "ppppiVar20 = ppppiVar15" identifier = identifier) ;) (if_statement "if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }" { (expression_statement "ppppiVar20 = (int ****)(iVar19 + 1);" (assignment_expression "ppppiVar20 = (int ****)(iVar19 + 1)" identifier = (cast_expression "(int ****)(iVar19 + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar19 + 1)" ( (binary_expression "iVar19 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" ( identifier , (binary_expression "iVar19 - (int)ppppiVar15" identifier - (cast_expression "(int)ppppiVar15" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7b20))(uVar5)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7b20))" ( (pointer_expression "**(code **)(puStack_98 + -0x7b20)" * (pointer_expression "*(code **)(puStack_98 + -0x7b20)" * (cast_expression "(code **)(puStack_98 + -0x7b20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7b20)" ( (binary_expression "puStack_98 + -0x7b20" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(uVar5);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(uVar5)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier ))) ;) })) (expression_statement "iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);" (assignment_expression "iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7668))" ( (pointer_expression "**(code **)(puStack_98 + -0x7668)" * (pointer_expression "*(code **)(puStack_98 + -0x7668)" * (cast_expression "(code **)(puStack_98 + -0x7668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7668)" ( (binary_expression "puStack_98 + -0x7668" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20,0,10)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }" { (expression_statement "iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);" (assignment_expression "iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20)" identifier = (call_expression "(**(code **)(puStack_98 + -0x799c))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x799c))" ( (pointer_expression "**(code **)(puStack_98 + -0x799c)" * (pointer_expression "*(code **)(puStack_98 + -0x799c)" * (cast_expression "(code **)(puStack_98 + -0x799c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x799c)" ( (binary_expression "puStack_98 + -0x799c" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier )))) ;) (if_statement "if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }" { (expression_statement "(*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);" (call_expression "(*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20)" (parenthesized_expression "(*pcStack_78)" ( (pointer_expression "*pcStack_78" * identifier) )) (argument_list "(iVar24,iStack_70 + 0x4734,ppppiVar20)" ( identifier , (binary_expression "iStack_70 + 0x4734" identifier + number_literal) , identifier ))) ;) (expression_statement "pcStack_88 = (code *)0x1;" (assignment_expression "pcStack_88 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          pcStack_88 = (code *)0x1;\n        }" else (compound_statement "{\n          pcStack_88 = (code *)0x1;\n        }" { (expression_statement "pcStack_88 = (code *)0x1;" (assignment_expression "pcStack_88 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n        pcStack_88 = (code *)0x0;\n      }" else (compound_statement "{\n        pcStack_88 = (code *)0x0;\n      }" { (expression_statement "pcStack_88 = (code *)0x0;" (assignment_expression "pcStack_88 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" if (parenthesized_expression "((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0))" ( (binary_expression "(unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)" (parenthesized_expression "(unaff_s2 == (int ***)0x4c)" ( (binary_expression "unaff_s2 == (int ***)0x4c" identifier == (cast_expression "(int ***)0x4c" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) && (parenthesized_expression "(iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)" ( (comma_expression "iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7478))" ( (pointer_expression "**(code **)(puStack_98 + -0x7478)" * (pointer_expression "*(code **)(puStack_98 + -0x7478)" * (cast_expression "(code **)(puStack_98 + -0x7478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7478)" ( (binary_expression "puStack_98 + -0x7478" identifier + number_literal) ))))) )) (argument_list "(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2e20" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }" { (if_statement "if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) (labeled_statement "LAB_00048e64:\n          iStack_7c = iVar8;" statement_identifier : (expression_statement "iStack_7c = iVar8;" (assignment_expression "iStack_7c = iVar8" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(iVar19);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(iVar19)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(iVar4);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) }) (else_clause "else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" else (compound_statement "{\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" { (expression_statement "iStack_7c = iVar8;" (assignment_expression "iStack_7c = iVar8" identifier = identifier) ;) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f68)" * (pointer_expression "*(code **)(puStack_98 + -0x7f68)" * (cast_expression "(code **)(puStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f68)" ( (binary_expression "puStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(1,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar9[4] = iVar19;" (assignment_expression "piVar9[4] = iVar19" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[1] = 0x44;" (assignment_expression "piVar9[1] = 0x44" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar27 = (code *)0xffffffff;" (assignment_expression "pcVar27 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }" if (parenthesized_expression "(pcStack_88 != (code *)0x0)" ( (binary_expression "pcStack_88 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar21 = (char *)0x0;" (assignment_expression "pcVar21 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00049780:\n            pcStack_88 = (code *)iStack_7c;" statement_identifier : (expression_statement "pcStack_88 = (code *)iStack_7c;" (assignment_expression "pcStack_88 = (code *)iStack_7c" identifier = (cast_expression "(code *)iStack_7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "iStack_7c = (int)pcVar27;" (assignment_expression "iStack_7c = (int)pcVar27" identifier = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f60))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier )))) ;) (expression_statement "piVar9[6] = iVar19;" (assignment_expression "piVar9[6] = iVar19" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[5] = iVar4;" (assignment_expression "piVar9[5] = iVar4" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar28 = pcStack_88;" (assignment_expression "pcVar28 = pcStack_88" identifier = identifier) ;) (expression_statement "pcVar27 = (code *)iStack_7c;" (assignment_expression "pcVar27 = (code *)iStack_7c" identifier = (cast_expression "(code *)iStack_7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar2 = pcStack_88;" (assignment_expression "pcVar2 = pcStack_88" identifier = identifier) ;) (goto_statement "goto joined_r0x000497a8;" goto statement_identifier ;) })) (expression_statement "piVar9[6] = 0;" (assignment_expression "piVar9[6] = 0" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00048c68:\n          piVar9[7] = iVar4;" statement_identifier : (expression_statement "piVar9[7] = iVar4;" (assignment_expression "piVar9[7] = iVar4" (subscript_expression "piVar9[7]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "piVar9[3] = (int)pcVar27;" (assignment_expression "piVar9[3] = (int)pcVar27" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;" if (parenthesized_expression "(pppiVar23 != (int ***)0x34)" ( (binary_expression "pppiVar23 != (int ***)0x34" identifier != (cast_expression "(int ***)0x34" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048c80;" goto statement_identifier ;)) (labeled_statement "LAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" * (cast_expression "(code **)(puStack_98 + -0x7ebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ebc)" ( (binary_expression "puStack_98 + -0x7ebc" identifier + number_literal) ))))) ;)) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x140);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x140)" identifier = (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "piVar9[9] = 1;" (assignment_expression "piVar9[9] = 1" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar25 = (int *)(*pcVar27)(uVar5,piVar9);" (assignment_expression "piVar25 = (int *)(*pcVar27)(uVar5,piVar9)" identifier = (cast_expression "(int *)(*pcVar27)(uVar5,piVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(uVar5,piVar9)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar5,piVar9)" ( identifier , identifier ))))) ;) (if_statement "if (piVar9 != piVar25) goto LAB_00048cac;" if (parenthesized_expression "(piVar9 != piVar25)" ( (binary_expression "piVar9 != piVar25" identifier != identifier) )) (goto_statement "goto LAB_00048cac;" goto statement_identifier ;)) (labeled_statement "LAB_00048f6c:\n          *piVar9 = 2;" statement_identifier : (expression_statement "*piVar9 = 2;" (assignment_expression "*piVar9 = 2" (pointer_expression "*piVar9" * identifier) = number_literal) ;)) }))) }) (else_clause "else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" else (compound_statement "{\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" { (expression_statement "iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);" (assignment_expression "iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7d50))" ( (pointer_expression "**(code **)(puStack_98 + -0x7d50)" * (pointer_expression "*(code **)(puStack_98 + -0x7d50)" * (cast_expression "(code **)(puStack_98 + -0x7d50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7d50)" ( (binary_expression "puStack_98 + -0x7d50" identifier + number_literal) ))))) )) (argument_list "(iVar4,iStack_80)" ( identifier , identifier )))) ;) (expression_statement "pcVar21 = (char *)(iVar4 + iVar8);" (assignment_expression "pcVar21 = (char *)(iVar4 + iVar8)" identifier = (cast_expression "(char *)(iVar4 + iVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar8)" ( (binary_expression "iVar4 + iVar8" identifier + identifier) )))) ;) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(pppiStack_8c,iVar8,iVar4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }" if (parenthesized_expression "(*pcVar21 != '\0')" ( (binary_expression "*pcVar21 != '\0'" (pointer_expression "*pcVar21" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar21 = pcVar21 + 1;\n        }" { (expression_statement "pcVar21 = pcVar21 + 1;" (assignment_expression "pcVar21 = pcVar21 + 1" identifier = (binary_expression "pcVar21 + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);" (assignment_expression "pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" identifier = (cast_expression "(code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7668))" ( (pointer_expression "**(code **)(puStack_98 + -0x7668)" * (pointer_expression "*(code **)(puStack_98 + -0x7668)" * (cast_expression "(code **)(puStack_98 + -0x7668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7668)" ( (binary_expression "puStack_98 + -0x7668" identifier + number_literal) ))))) )) (argument_list "(pcVar21,0,10)" ( identifier , number_literal , number_literal ))))) ;) (if_statement "if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }" { (expression_statement "pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);" (assignment_expression "pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21)" identifier = (cast_expression "(code *)(**(code **)(puStack_98 + -0x799c))(pcVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x799c))(pcVar21)" (parenthesized_expression "(**(code **)(puStack_98 + -0x799c))" ( (pointer_expression "**(code **)(puStack_98 + -0x799c)" * (pointer_expression "*(code **)(puStack_98 + -0x799c)" * (cast_expression "(code **)(puStack_98 + -0x799c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x799c)" ( (binary_expression "puStack_98 + -0x799c" identifier + number_literal) ))))) )) (argument_list "(pcVar21)" ( identifier ))))) ;) (if_statement "if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }" if (parenthesized_expression "(pcVar27 == (code *)0x0)" ( (binary_expression "pcVar27 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }" { (expression_statement "(*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);" (call_expression "(*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21)" (parenthesized_expression "(*pcStack_78)" ( (pointer_expression "*pcStack_78" * identifier) )) (argument_list "(iVar24,iStack_6c + 0x4760,pcVar21)" ( identifier , (binary_expression "iStack_6c + 0x4760" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) (goto_statement "goto LAB_00048e64;" goto statement_identifier ;) })) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) }) (else_clause "else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" else (compound_statement "{\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" identifier = identifier) ;) }))) (expression_statement "iStack_7c = iVar16;" (assignment_expression "iStack_7c = iVar16" identifier = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00048e64;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00048e64;" goto statement_identifier ;)) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f68)" * (pointer_expression "*(code **)(puStack_98 + -0x7f68)" * (cast_expression "(code **)(puStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f68)" ( (binary_expression "puStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(1,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar9[1] = (int)unaff_s2;" (assignment_expression "piVar9[1] = (int)unaff_s2" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[4] = iVar19;" (assignment_expression "piVar9[4] = iVar19" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pcStack_88 != (code *)0x0) goto LAB_00049780;" if (parenthesized_expression "(pcStack_88 != (code *)0x0)" ( (binary_expression "pcStack_88 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00049780;" goto statement_identifier ;)) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[5] = iVar4;" (assignment_expression "piVar9[5] = iVar4" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[6] = 0;" (assignment_expression "piVar9[6] = 0" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar28 = (code *)0x0;" (assignment_expression "pcVar28 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar2 = (code *)iStack_7c;" (assignment_expression "pcVar2 = (code *)iStack_7c" identifier = (cast_expression "(code *)iStack_7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "joined_r0x000497a8:\n        pcStack_88 = pcVar27;" statement_identifier : (expression_statement "pcStack_88 = pcVar27;" (assignment_expression "pcStack_88 = pcVar27" identifier = identifier) ;)) (if_statement "if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }" { (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f60))(pcVar21)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(pcVar21)" ( identifier )))) ;) (expression_statement "pcVar27 = pcStack_88;" (assignment_expression "pcVar27 = pcStack_88" identifier = identifier) ;) (goto_statement "goto LAB_00048c68;" goto statement_identifier ;) })) (expression_statement "piVar9[3] = (int)pcStack_88;" (assignment_expression "piVar9[3] = (int)pcStack_88" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)pcStack_88" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[7] = 0;" (assignment_expression "piVar9[7] = 0" (subscript_expression "piVar9[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcStack_88 = pcVar28;" (assignment_expression "pcStack_88 = pcVar28" identifier = identifier) ;) (if_statement "if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;" if (parenthesized_expression "(pppiVar23 == (int ***)0x34)" ( (binary_expression "pppiVar23 == (int ***)0x34" identifier == (cast_expression "(int ***)0x34" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00048f4c;" goto statement_identifier ;)) (labeled_statement "LAB_00048c80:\n        iVar4 = 2;" statement_identifier : (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" identifier = number_literal) ;)) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" * (cast_expression "(code **)(puStack_98 + -0x7ebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ebc)" ( (binary_expression "puStack_98 + -0x7ebc" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x140);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x140)" identifier = (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (if_statement "if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }" if (parenthesized_expression "(pppiVar23 != (int ***)0x36)" ( (binary_expression "pppiVar23 != (int ***)0x36" identifier != (cast_expression "(int ***)0x36" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n          iVar4 = 0;\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (expression_statement "piVar9[9] = iVar4;" (assignment_expression "piVar9[9] = iVar4" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar25 = (int *)(*pcVar27)(uVar5,piVar9);" (assignment_expression "piVar25 = (int *)(*pcVar27)(uVar5,piVar9)" identifier = (cast_expression "(int *)(*pcVar27)(uVar5,piVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(uVar5,piVar9)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar5,piVar9)" ( identifier , identifier ))))) ;) (if_statement "if (piVar9 == piVar25) goto LAB_00048f6c;" if (parenthesized_expression "(piVar9 == piVar25)" ( (binary_expression "piVar9 == piVar25" identifier == identifier) )) (goto_statement "goto LAB_00048f6c;" goto statement_identifier ;)) (labeled_statement "LAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7fa0);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7fa0)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) ;)) (if_statement "if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }" if (parenthesized_expression "(*piVar25 == 0)" ( (binary_expression "*piVar25 == 0" (pointer_expression "*piVar25" * identifier) == number_literal) )) (compound_statement "{\n          *piVar25 = 1;\n        }" { (expression_statement "*piVar25 = 1;" (assignment_expression "*piVar25 = 1" (pointer_expression "*piVar25" * identifier) = number_literal) ;) })) (expression_statement "(*pcVar27)(piVar9[4]);" (call_expression "(*pcVar27)(piVar9[4])" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar9[4])" ( (subscript_expression "piVar9[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[5])" ( (subscript_expression "piVar9[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[6])" ( (subscript_expression "piVar9[6]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[7])" ( (subscript_expression "piVar9[7]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier ))) ;) }))) (expression_statement "ppppiVar15 = (int ****)pppiStack_60;" (assignment_expression "ppppiVar15 = (int ****)pppiStack_60" identifier = (cast_expression "(int ****)pppiStack_60" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7be8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7be8)" * (pointer_expression "*(code **)(puStack_98 + -0x7be8)" * (cast_expression "(code **)(puStack_98 + -0x7be8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7be8)" ( (binary_expression "puStack_98 + -0x7be8" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9b,pppiStack_60,pppiStack_84)" ( identifier , number_literal , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);" (assignment_expression "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x63f8" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar19 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar19 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);" (assignment_expression "pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" identifier = (cast_expression "(code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x5a14" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );" do (compound_statement "{\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) , identifier ))))) ;) (while_statement "while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }" { (if_statement "if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }" { (expression_statement "pcStack_88 = *(code **)(puStack_98 + -0x7fc8);" (assignment_expression "pcStack_88 = *(code **)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7fc8)" * (cast_expression "(code **)(puStack_98 + -0x7fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pppiVar23 = (int ***)0x0;" (assignment_expression "pppiVar23 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);" (assignment_expression "ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c)" identifier = (pointer_expression "*(int *****)(puStack_98 + -0x7c8c)" * (cast_expression "(int *****)(puStack_98 + -0x7c8c)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puStack_98 + -0x7c8c)" ( (binary_expression "puStack_98 + -0x7c8c" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = (int ***)0x0;" (assignment_expression "pppiVar13 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar19 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);" (assignment_expression "pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2)" identifier = (cast_expression "(int ***)(ppppiVar20 + 0x18a2)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(ppppiVar20 + 0x18a2)" ( (binary_expression "ppppiVar20 + 0x18a2" identifier + number_literal) )))) ;) (expression_statement "ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);" (assignment_expression "ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();" (assignment_expression "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))()" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7ea8))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppiVar11 = (int ****)0x0;" (assignment_expression "ppppiVar11 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (goto_statement "goto joined_r0x0004902c;" goto statement_identifier ;) })) (if_statement "if (*piVar9 == 0) break;" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" identifier = (cast_expression "(int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) , identifier ))))) ;) })) (if_statement "if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" if (parenthesized_expression "(piVar9[1] == 0x4c)" ( (binary_expression "piVar9[1] == 0x4c" (subscript_expression "piVar9[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }" { (expression_statement "iVar16 = piVar9[4];" (assignment_expression "iVar16 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4708" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar16 == 0) goto LAB_0004942c;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004942c;" goto statement_identifier ;)) (labeled_statement "LAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" statement_identifier : (expression_statement "iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" (assignment_expression "iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;)) }) (else_clause "else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" else (compound_statement "{\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" { (if_statement "if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" if (parenthesized_expression "(piVar9[1] == 0x52)" ( (binary_expression "piVar9[1] == 0x52" (subscript_expression "piVar9[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }" { (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4710" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" else (compound_statement "{\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" { (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4718" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "iVar16 = piVar9[4];" (assignment_expression "iVar16 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (if_statement "if (iVar16 != 0) goto LAB_00049258;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049258;" goto statement_identifier ;)) (labeled_statement "LAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;" statement_identifier : (expression_statement "iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;" (assignment_expression "iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54" identifier = (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" identifier = identifier) ;) }))) (expression_statement "pppiStack_b0 = (int ***)piVar9[2];" (assignment_expression "pppiStack_b0 = (int ***)piVar9[2]" identifier = (cast_expression "(int ***)piVar9[2]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "piVar9[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);" (assignment_expression "ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" identifier = (cast_expression "(int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 0x4790,iVar8,iVar16,iVar18)" ( (binary_expression "iVar7 + 0x4790" identifier + number_literal) , identifier , identifier , identifier ))))) ;) (expression_statement "ppppiVar20 = ppppiVar15;" (assignment_expression "ppppiVar20 = ppppiVar15" identifier = identifier) ;) (if_statement "if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }" if (parenthesized_expression "(piVar9[1] != 0x44)" ( (binary_expression "piVar9[1] != 0x44" (subscript_expression "piVar9[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }" { (expression_statement "ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );" (assignment_expression "ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" identifier = (cast_expression "(int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47b0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , (subscript_expression "piVar9[5]" identifier [ number_literal ]) , (subscript_expression "piVar9[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar15)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar15)" ( identifier ))) ;) })) (expression_statement "ppppiVar15 = ppppiVar20;" (assignment_expression "ppppiVar15 = ppppiVar20" identifier = identifier) ;) (expression_statement "FUN_00036288(iVar24,iVar19 + 0x47bc);" (call_expression "FUN_00036288(iVar24,iVar19 + 0x47bc)" identifier (argument_list "(iVar24,iVar19 + 0x47bc)" ( identifier , (binary_expression "iVar19 + 0x47bc" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier ))) ;) (expression_statement "iVar8 = piVar9[8];" (assignment_expression "iVar8 = piVar9[8]" identifier = (subscript_expression "piVar9[8]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }" { (if_statement "if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }" if (parenthesized_expression "(piVar9[10] != 0)" ( (binary_expression "piVar9[10] != 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }" { (expression_statement "(**(code **)(puStack_98 + -0x7dcc))();" (call_expression "(**(code **)(puStack_98 + -0x7dcc))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7dcc))" ( (pointer_expression "**(code **)(puStack_98 + -0x7dcc)" * (pointer_expression "*(code **)(puStack_98 + -0x7dcc)" * (cast_expression "(code **)(puStack_98 + -0x7dcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7dcc)" ( (binary_expression "puStack_98 + -0x7dcc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" else (compound_statement "{\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" { (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7eb8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7eb8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7eb8)" * (cast_expression "(code **)(puStack_98 + -0x7eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb8)" ( (binary_expression "puStack_98 + -0x7eb8" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }" if (parenthesized_expression "(*(int *)(iVar24 + 0x198) != 1)" ( (binary_expression "*(int *)(iVar24 + 0x198) != 1" (pointer_expression "*(int *)(iVar24 + 0x198)" * (cast_expression "(int *)(iVar24 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x198)" ( (binary_expression "iVar24 + 0x198" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }" { (expression_statement "unaff_s2 = (int ***)(*pcStack_88)(0x50);" (assignment_expression "unaff_s2 = (int ***)(*pcStack_88)(0x50)" identifier = (cast_expression "(int ***)(*pcStack_88)(0x50)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(*pcStack_88)(0x50)" (parenthesized_expression "(*pcStack_88)" ( (pointer_expression "*pcStack_88" * identifier) )) (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc)" identifier (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47cc" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppiVar15 = (int ****)0x1;" (assignment_expression "ppppiVar15 = (int ****)0x1" identifier = (cast_expression "(int ****)0x1" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "uStack_61 = 0;" (assignment_expression "uStack_61 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003a494(unaff_s2,&uStack_61);" (call_expression "FUN_0003a494(unaff_s2,&uStack_61)" identifier (argument_list "(unaff_s2,&uStack_61)" ( identifier , (pointer_expression "&uStack_61" & identifier) ))) ;) (if_statement "if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }" if (parenthesized_expression "(piVar9[4] == 0)" ( (binary_expression "piVar9[4] == 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }" { (expression_statement "iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);" (assignment_expression "iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f3c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f3c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f3c)" * (cast_expression "(code **)(puStack_98 + -0x7f3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f3c)" ( (binary_expression "puStack_98 + -0x7f3c" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }" { (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" identifier (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47e4" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" else (compound_statement "{\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" { (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" identifier (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) }))) }) (else_clause "else {\n          FUN_0003a7dc(unaff_s2);\n        }" else (compound_statement "{\n          FUN_0003a7dc(unaff_s2);\n        }" { (expression_statement "FUN_0003a7dc(unaff_s2);" (call_expression "FUN_0003a7dc(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) }))) (expression_statement "FUN_0003a76c(unaff_s2,piVar9[2]);" (call_expression "FUN_0003a76c(unaff_s2,piVar9[2])" identifier (argument_list "(unaff_s2,piVar9[2])" ( identifier , (subscript_expression "piVar9[2]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_00045998(iVar24,unaff_s2);" (call_expression "FUN_00045998(iVar24,unaff_s2)" identifier (argument_list "(iVar24,unaff_s2)" ( identifier , identifier ))) ;) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7eb8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7eb8)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7eb8)" * (cast_expression "(code **)(puStack_98 + -0x7eb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb8)" ( (binary_expression "puStack_98 + -0x7eb8" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);" (call_expression "(*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar24 + 0x13c),iVar8)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar8);" (call_expression "(*(code *)pppiStack_8c)(iVar8)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier ))) ;) }))) (expression_statement "(**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (call_expression "(**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ec0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ec0)" * (pointer_expression "*(code **)(puStack_98 + -0x7ec0)" * (cast_expression "(code **)(puStack_98 + -0x7ec0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ec0)" ( (binary_expression "puStack_98 + -0x7ec0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" * (cast_expression "(undefined4 *)(iVar24 + 0x140)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[4])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[4])" ( (subscript_expression "piVar9[4]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[5])" ( (subscript_expression "piVar9[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[6])" ( (subscript_expression "piVar9[6]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9[7])" ( (subscript_expression "piVar9[7]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "joined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;" statement_identifier : (if_statement "if (pppiVar10 == (int ***)0x0) goto LAB_00049064;" if (parenthesized_expression "(pppiVar10 == (int ***)0x0)" ( (binary_expression "pppiVar10 == (int ***)0x0" identifier == (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (goto_statement "goto LAB_00049064;" goto statement_identifier ;))) (if_statement "if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }" if (parenthesized_expression "(*pppiVar10 == (int **)0x2)" ( (binary_expression "*pppiVar10 == (int **)0x2" (pointer_expression "*pppiVar10" * identifier) == (cast_expression "(int **)0x2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }" { (expression_statement "ppppiVar15 = ppppiVar22;" (assignment_expression "ppppiVar15 = ppppiVar22" identifier = identifier) ;) (expression_statement "ppppiVar11 = ppppiVar22;" (assignment_expression "ppppiVar11 = ppppiVar22" identifier = identifier) ;) (if_statement "if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }" if (parenthesized_expression "((int ****)pppiVar10[4] != (int ****)0x0)" ( (binary_expression "(int ****)pppiVar10[4] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[4]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[4]" identifier [ number_literal ])) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }" { (expression_statement "ppppiVar15 = (int ****)pppiVar10[4];" (assignment_expression "ppppiVar15 = (int ****)pppiVar10[4]" identifier = (cast_expression "(int ****)pppiVar10[4]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);" (assignment_expression "ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "pppiStack_ac = (int ***)pppiVar10[2];" (assignment_expression "pppiStack_ac = (int ***)pppiVar10[2]" identifier = (cast_expression "(int ***)pppiVar10[2]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[2]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppiVar17 = ppppiVar22;" (assignment_expression "ppppiVar17 = ppppiVar22" identifier = identifier) ;) (expression_statement "pppiStack_a8 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }" if (parenthesized_expression "((int ****)pppiVar10[6] != (int ****)0x0)" ( (binary_expression "(int ****)pppiVar10[6] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[6]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[6]" identifier [ number_literal ])) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }" { (expression_statement "pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);" (assignment_expression "pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4720" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppiVar17 = (int ****)pppiVar10[6];" (assignment_expression "ppppiVar17 = (int ****)pppiVar10[6]" identifier = (cast_expression "(int ****)pppiVar10[6]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[6]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);" (assignment_expression "pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x45b8" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);" (assignment_expression "unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" ( (binary_expression "iVar19 + 0x47f0" identifier + number_literal) , identifier , identifier , identifier ))))) ;) (expression_statement "ppppiVar15 = ppppiVar22;" (assignment_expression "ppppiVar15 = ppppiVar22" identifier = identifier) ;) (if_statement "if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" if (parenthesized_expression "(pppiVar10[1] == (int **)0x44)" ( (binary_expression "pppiVar10[1] == (int **)0x44" (subscript_expression "pppiVar10[1]" identifier [ number_literal ]) == (cast_expression "(int **)0x44" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }" { (expression_statement "ppppiVar11 = (int ****)0x0;" (assignment_expression "ppppiVar11 = (int ****)0x0" identifier = (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (labeled_statement "LAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];" statement_identifier : (expression_statement "piStack_a4 = (int *)pppiVar10[9];" (assignment_expression "piStack_a4 = (int *)pppiVar10[9]" identifier = (cast_expression "(int *)pppiVar10[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppiVar10[9]" identifier [ number_literal ]))) ;)) (expression_statement "pppiStack_a8 = pppiVar10 + 10;" (assignment_expression "pppiStack_a8 = pppiVar10 + 10" identifier = (binary_expression "pppiVar10 + 10" identifier + number_literal)) ;) (expression_statement "pppiStack_ac = (int ***)uStack_90;" (assignment_expression "pppiStack_ac = (int ***)uStack_90" identifier = (cast_expression "(int ***)uStack_90" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_b0 = (int ***)iVar24;" (assignment_expression "pppiStack_b0 = (int ***)iVar24" identifier = (cast_expression "(int ***)iVar24" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);" (assignment_expression "pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7998))" ( (pointer_expression "**(code **)(puStack_98 + -0x7998)" * (pointer_expression "*(code **)(puStack_98 + -0x7998)" * (cast_expression "(code **)(puStack_98 + -0x7998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7998)" ( (binary_expression "puStack_98 + -0x7998" identifier + number_literal) ))))) )) (argument_list "(0,0xffffffff,pppiVar10[4],pppiVar10[2])" ( number_literal , number_literal , (subscript_expression "pppiVar10[4]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[2]" identifier [ number_literal ]) ))))) ;) (if_statement "if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x1)" ( (binary_expression "pppiVar10[9] == (int **)0x1" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4724" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" else (if_statement "if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x2)" ( (binary_expression "pppiVar10[9] == (int **)0x2" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x472c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })))) (if_statement "if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" if (parenthesized_expression "((int ****)pppiStack_ac == (int ****)0x0)" ( (binary_expression "(int ****)pppiStack_ac == (int ****)0x0" (cast_expression "(int ****)pppiStack_ac" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }" { (expression_statement "pppiStack_b0 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "(int)pcStack_88 + 0x48a4" (cast_expression "(int)pcStack_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" else (compound_statement "{\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" { (expression_statement "pppiStack_b0 = (int ***)(iVar7 + 0x4898);" (assignment_expression "pppiStack_b0 = (int ***)(iVar7 + 0x4898)" identifier = (cast_expression "(int ***)(iVar7 + 0x4898)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar7 + 0x4898)" ( (binary_expression "iVar7 + 0x4898" identifier + number_literal) )))) ;) (expression_statement "pppiStack_84 = pppiStack_ac;" (assignment_expression "pppiStack_84 = pppiStack_ac" identifier = identifier) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "(int)pcStack_88 + 0x48a4" (cast_expression "(int)pcStack_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier , identifier ))) ;) (labeled_statement "LAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);" statement_identifier : (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(pppiStack_84)" ( identifier ))) ;)) }))) }) (else_clause "else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" else (compound_statement "{\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" { (expression_statement "pppiStack_b0 = (int ***)pppiVar10[3];" (assignment_expression "pppiStack_b0 = (int ***)pppiVar10[3]" identifier = (cast_expression "(int ***)pppiVar10[3]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[3]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppppiVar11 = ppppiVar22;" (assignment_expression "ppppiVar11 = ppppiVar22" identifier = identifier) ;) (expression_statement "ppppiVar17 = ppppiVar22;" (assignment_expression "ppppiVar17 = ppppiVar22" identifier = identifier) ;) (if_statement "if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }" if (parenthesized_expression "((int ****)pppiVar10[7] != (int ****)0x0)" ( (binary_expression "(int ****)pppiVar10[7] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[7]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[7]" identifier [ number_literal ])) != (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }" { (expression_statement "pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);" (assignment_expression "pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" identifier = (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x45b8" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppppiVar11 = (int ****)pppiVar10[7];" (assignment_expression "ppppiVar11 = (int ****)pppiVar10[7]" identifier = (cast_expression "(int ****)pppiVar10[7]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[7]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);" (assignment_expression "ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4720" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);" (assignment_expression "ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" identifier = (cast_expression "(int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" * (cast_expression "(code **)(puStack_98 + -0x7f6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f6c)" ( (binary_expression "puStack_98 + -0x7f6c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4800" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (subscript_expression "pppiVar10[5]" identifier [ number_literal ]) , identifier , identifier ))))) ;) (if_statement "if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }" if (parenthesized_expression "(pppiVar10[1] == (int **)0x4c)" ( (binary_expression "pppiVar10[1] == (int **)0x4c" (subscript_expression "pppiVar10[1]" identifier [ number_literal ]) == (cast_expression "(int **)0x4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }" { (expression_statement "piStack_a4 = (int *)pppiVar10[9];" (assignment_expression "piStack_a4 = (int *)pppiVar10[9]" identifier = (cast_expression "(int *)pppiVar10[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppiVar10[9]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_a8 = pppiVar10 + 10;" (assignment_expression "pppiStack_a8 = pppiVar10 + 10" identifier = (binary_expression "pppiVar10 + 10" identifier + number_literal)) ;) (expression_statement "pppiStack_ac = (int ***)uStack_90;" (assignment_expression "pppiStack_ac = (int ***)uStack_90" identifier = (cast_expression "(int ***)uStack_90" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_b0 = (int ***)iVar24;" (assignment_expression "pppiStack_b0 = (int ***)iVar24" identifier = (cast_expression "(int ***)iVar24" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);" (assignment_expression "pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7998))" ( (pointer_expression "**(code **)(puStack_98 + -0x7998)" * (pointer_expression "*(code **)(puStack_98 + -0x7998)" * (cast_expression "(code **)(puStack_98 + -0x7998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7998)" ( (binary_expression "puStack_98 + -0x7998" identifier + number_literal) ))))) )) (argument_list "(pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" ( (subscript_expression "pppiVar10[5]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[3]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[4]" identifier [ number_literal ]) , (subscript_expression "pppiVar10[2]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar11" identifier = (cast_expression "(int ***)ppppiVar11" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (if_statement "if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x1)" ( (binary_expression "pppiVar10[9] == (int **)0x1" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x1" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4724" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }" if (parenthesized_expression "((int ****)pppiStack_a8 == (int ****)0x0)" ( (binary_expression "(int ****)pppiStack_a8 == (int ****)0x0" (cast_expression "(int ****)pppiStack_a8" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }" { (expression_statement "iVar4 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar4 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00049828;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" else (compound_statement "{\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" { (if_statement "if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }" if (parenthesized_expression "(pppiVar10[9] == (int **)0x2)" ( (binary_expression "pppiVar10[9] == (int **)0x2" (subscript_expression "pppiVar10[9]" identifier [ number_literal ]) == (cast_expression "(int **)0x2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }" { (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" identifier = (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x472c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar4 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar4 = *(int *)(puStack_98 + -0x7fc8)" identifier = (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) ))))) ;) (if_statement "if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }" if (parenthesized_expression "((int ****)pppiStack_a8 == (int ****)0x0)" ( (binary_expression "(int ****)pppiStack_a8 == (int ****)0x0" (cast_expression "(int ****)pppiStack_a8" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (cast_expression "(int ****)0x0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }" { (labeled_statement "LAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;" statement_identifier : (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;)) (expression_statement "pppiStack_a8 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "iVar4 + 0x4870" identifier + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_00049208;" goto statement_identifier ;) })) }))) (expression_statement "pppiStack_ac = (int ***)(iVar7 + 0x4898);" (assignment_expression "pppiStack_ac = (int ***)(iVar7 + 0x4898)" identifier = (cast_expression "(int ***)(iVar7 + 0x4898)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar7 + 0x4898)" ( (binary_expression "iVar7 + 0x4898" identifier + number_literal) )))) ;) (expression_statement "pppiStack_84 = pppiStack_a8;" (assignment_expression "pppiStack_84 = pppiStack_a8" identifier = identifier) ;) (expression_statement "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4870" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_000495e0;" goto statement_identifier ;) })) (if_statement "if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;" if (parenthesized_expression "(pppiVar10[1] == (int **)0x44)" ( (binary_expression "pppiVar10[1] == (int **)0x44" (subscript_expression "pppiVar10[1]" identifier [ number_literal ]) == (cast_expression "(int **)0x44" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0004945c;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }" if (parenthesized_expression "(*(int *)(iVar24 + 0x13c) == 0)" ( (binary_expression "*(int *)(iVar24 + 0x13c) == 0" (pointer_expression "*(int *)(iVar24 + 0x13c)" * (cast_expression "(int *)(iVar24 + 0x13c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }" { (if_statement "if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" if (parenthesized_expression "(*(int *)(iVar24 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar24 + 0x198) == 1" (pointer_expression "*(int *)(iVar24 + 0x198)" * (cast_expression "(int *)(iVar24 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x198)" ( (binary_expression "iVar24 + 0x198" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" { (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7eb4))" ( (pointer_expression "**(code **)(puStack_98 + -0x7eb4)" * (pointer_expression "*(code **)(puStack_98 + -0x7eb4)" * (cast_expression "(code **)(puStack_98 + -0x7eb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb4)" ( (binary_expression "puStack_98 + -0x7eb4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2cfc" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar24 + 0x13c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x13c) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" else (compound_statement "{\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" { (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7eb4))" ( (pointer_expression "**(code **)(puStack_98 + -0x7eb4)" * (pointer_expression "*(code **)(puStack_98 + -0x7eb4)" * (cast_expression "(code **)(puStack_98 + -0x7eb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7eb4)" ( (binary_expression "puStack_98 + -0x7eb4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" ( (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2da0" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar24 + 0x13c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x13c) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) )))) = identifier) ;) }))) })) (expression_statement "ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);" (assignment_expression "ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" identifier = (cast_expression "(int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f68)" * (pointer_expression "*(code **)(puStack_98 + -0x7f68)" * (cast_expression "(code **)(puStack_98 + -0x7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f68)" ( (binary_expression "puStack_98 + -0x7f68" identifier + number_literal) ))))) )) (argument_list "(1,0x1c)" ( number_literal , number_literal ))))) ;) (expression_statement "ppiVar12 = pppiVar10[5];" (assignment_expression "ppiVar12 = pppiVar10[5]" identifier = (subscript_expression "pppiVar10[5]" identifier [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7f60);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7f60)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "ppppiVar20[5] = (int ***)0x0;" (assignment_expression "ppppiVar20[5] = (int ***)0x0" (subscript_expression "ppppiVar20[5]" identifier [ number_literal ]) = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppiVar13 = (int ***)(*pcVar27)(ppiVar12);" (assignment_expression "pppiVar13 = (int ***)(*pcVar27)(ppiVar12)" identifier = (cast_expression "(int ***)(*pcVar27)(ppiVar12)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(*pcVar27)(ppiVar12)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(ppiVar12)" ( identifier ))))) ;) (expression_statement "pppiVar14 = (int ***)pppiVar10[3];" (assignment_expression "pppiVar14 = (int ***)pppiVar10[3]" identifier = (cast_expression "(int ***)pppiVar10[3]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[3]" identifier [ number_literal ]))) ;) (expression_statement "ppiVar12 = pppiVar10[4];" (assignment_expression "ppiVar12 = pppiVar10[4]" identifier = (subscript_expression "pppiVar10[4]" identifier [ number_literal ])) ;) (expression_statement "ppppiVar20[3] = pppiVar13;" (assignment_expression "ppppiVar20[3] = pppiVar13" (subscript_expression "ppppiVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppiVar20[1] = pppiVar14;" (assignment_expression "ppppiVar20[1] = pppiVar14" (subscript_expression "ppppiVar20[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" if (parenthesized_expression "(ppiVar12 == (int **)0x0)" ( (binary_expression "ppiVar12 == (int **)0x0" identifier == (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }" { (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" identifier = (call_expression "(**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f3c))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f3c)" * (pointer_expression "*(code **)(puStack_98 + -0x7f3c)" * (cast_expression "(code **)(puStack_98 + -0x7f3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f3c)" ( (binary_expression "puStack_98 + -0x7f3c" identifier + number_literal) ))))) )) (argument_list "(uStack_90,0x9a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }" { (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" ( (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47e4" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" else (compound_statement "{\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" { (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "(ppppiVar22)" ( identifier ))))) ;) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" else (compound_statement "{\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" { (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))()" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7f60))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" ( (pointer_expression "**(code **)(puStack_98 + -0x7f60)" * (pointer_expression "*(code **)(puStack_98 + -0x7f60)" * (cast_expression "(code **)(puStack_98 + -0x7f60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7f60)" ( (binary_expression "puStack_98 + -0x7f60" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" * (cast_expression "(code **)(puStack_98 + -0x7ebc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ebc)" ( (binary_expression "puStack_98 + -0x7ebc" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x13c);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x13c)" identifier = (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" * (cast_expression "(undefined4 *)(iVar24 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x13c)" ( (binary_expression "iVar24 + 0x13c" identifier + number_literal) ))))) ;) (expression_statement "*ppppiVar20 = (int ***)pppiVar10[2];" (assignment_expression "*ppppiVar20 = (int ***)pppiVar10[2]" (pointer_expression "*ppppiVar20" * identifier) = (cast_expression "(int ***)pppiVar10[2]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);" (assignment_expression "ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20)" identifier = (cast_expression "(int ****)(*pcVar27)(uVar5,ppppiVar20)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar27)(uVar5,ppppiVar20)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar5,ppppiVar20)" ( identifier , identifier ))))) ;) (if_statement "if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" if (parenthesized_expression "(ppppiVar20 == ppppiVar15)" ( (binary_expression "ppppiVar20 == ppppiVar15" identifier == identifier) )) (compound_statement "{\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }" { (expression_statement "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);" (call_expression "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11)" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4838" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "ppppiVar15 = *(int *****)(iVar24 + 0x198);" (assignment_expression "ppppiVar15 = *(int *****)(iVar24 + 0x198)" identifier = (pointer_expression "*(int *****)(iVar24 + 0x198)" * (cast_expression "(int *****)(iVar24 + 0x198)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar24 + 0x198)" ( (binary_expression "iVar24 + 0x198" identifier + number_literal) ))))) ;) (expression_statement "ppppiVar20[4] = unaff_s2;" (assignment_expression "ppppiVar20[4] = unaff_s2" (subscript_expression "ppppiVar20[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppiVar10[8] = (int **)ppppiVar20;" (assignment_expression "pppiVar10[8] = (int **)ppppiVar20" (subscript_expression "pppiVar10[8]" identifier [ number_literal ]) = (cast_expression "(int **)ppppiVar20" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppppiVar20[6] = pppiVar10;" (assignment_expression "ppppiVar20[6] = pppiVar10" (subscript_expression "ppppiVar20[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" if (parenthesized_expression "(ppppiVar15 == (int ****)0x1)" ( (binary_expression "ppppiVar15 == (int ****)0x1" identifier == (cast_expression "(int ****)0x1" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" { (expression_statement "uStack_a0 = 0;" (assignment_expression "uStack_a0 = 0" identifier = number_literal) ;) (expression_statement "piStack_a4 = (int *)pppiVar10[3];" (assignment_expression "piStack_a4 = (int *)pppiVar10[3]" identifier = (cast_expression "(int *)pppiVar10[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppiVar10[3]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s2 = (int ***)0x0;" (assignment_expression "unaff_s2 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppiStack_ac = (int ***)pppiVar10[5];" (assignment_expression "pppiStack_ac = (int ***)pppiVar10[5]" identifier = (cast_expression "(int ***)pppiVar10[5]" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (subscript_expression "pppiVar10[5]" identifier [ number_literal ]))) ;) (expression_statement "pppiStack_b0 = (int ***)0x4;" (assignment_expression "pppiStack_b0 = (int ***)0x4" identifier = (cast_expression "(int ***)0x4" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "pppiStack_a8 = (int ***)ppppiVar15;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar15" identifier = (cast_expression "(int ***)ppppiVar15" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);" (call_expression "FUN_00048a74(iVar24,0x1c,1,pppiVar10[2])" identifier (argument_list "(iVar24,0x1c,1,pppiVar10[2])" ( identifier , number_literal , number_literal , (subscript_expression "pppiVar10[2]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppiVar15 = (int ****)0xf;" (assignment_expression "ppppiVar15 = (int ****)0xf" identifier = (cast_expression "(int ****)0xf" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar20" identifier = (cast_expression "(int ***)ppppiVar20" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);" (call_expression "FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" identifier (argument_list "(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2a68" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" else (compound_statement "{\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" { (expression_statement "uVar5 = FUN_0003a5ec(0x50);" (assignment_expression "uVar5 = FUN_0003a5ec(0x50)" identifier = (call_expression "FUN_0003a5ec(0x50)" identifier (argument_list "(0x50)" ( number_literal )))) ;) (expression_statement "FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);" (call_expression "FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860)" identifier (argument_list "(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860)" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4860" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uStack_61 = 1;" (assignment_expression "uStack_61 = 1" identifier = number_literal) ;) (expression_statement "FUN_0003a494(uVar5,&uStack_61,1);" (call_expression "FUN_0003a494(uVar5,&uStack_61,1)" identifier (argument_list "(uVar5,&uStack_61,1)" ( identifier , (pointer_expression "&uStack_61" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003a7dc(uVar5,ppppiVar20[2]);" (call_expression "FUN_0003a7dc(uVar5,ppppiVar20[2])" identifier (argument_list "(uVar5,ppppiVar20[2])" ( identifier , (subscript_expression "ppppiVar20[2]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a76c(uVar5,*ppppiVar20);" (call_expression "FUN_0003a76c(uVar5,*ppppiVar20)" identifier (argument_list "(uVar5,*ppppiVar20)" ( identifier , (pointer_expression "*ppppiVar20" * identifier) ))) ;) (expression_statement "unaff_s2 = (int ***)0x0;" (assignment_expression "unaff_s2 = (int ***)0x0" identifier = (cast_expression "(int ***)0x0" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_00045998(iVar24,uVar5);" (call_expression "FUN_00045998(iVar24,uVar5)" identifier (argument_list "(iVar24,uVar5)" ( identifier , identifier ))) ;) (expression_statement "ppppiVar15 = (int ****)0x52;" (assignment_expression "ppppiVar15 = (int ****)0x52" identifier = (cast_expression "(int ****)0x52" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "pppiStack_b0 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar20" identifier = (cast_expression "(int ***)ppppiVar20" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);" (call_expression "FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" identifier (argument_list "(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" ( identifier , number_literal , number_literal , (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2a68" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" * (cast_expression "(int *)(puStack_98 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7b0c)" ( (binary_expression "puStack_98 + -0x7b0c" identifier + number_literal) )))) + number_literal) ))) ;) }))) }) (else_clause "else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" else (compound_statement "{\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" { (expression_statement "ppppiVar15 = (int ****)pppiVar10[5];" (assignment_expression "ppppiVar15 = (int ****)pppiVar10[5]" identifier = (cast_expression "(int ****)pppiVar10[5]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "pppiVar10[5]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);" (call_expression "(*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3])" (parenthesized_expression "(*(code *)pppiStack_8c)" ( (pointer_expression "*(code *)pppiStack_8c" * (cast_expression "(code *)pppiStack_8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3])" ( identifier , (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x480c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" * (cast_expression "(int *)(puStack_98 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_98 + -0x7fc8)" ( (binary_expression "puStack_98 + -0x7fc8" identifier + number_literal) )))) + number_literal) , identifier , (subscript_expression "pppiVar10[3]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar20)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);" statement_identifier : (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(unaff_s2);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(unaff_s2)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;)) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar11)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" ( (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" * (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" * (cast_expression "(code **)(puStack_98 + -0x7fa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7fa0)" ( (binary_expression "puStack_98 + -0x7fa0" identifier + number_literal) ))))) )) (argument_list "(ppppiVar11)" ( identifier ))) ;) })) (expression_statement "pppiVar23 = (int ***)((int)pppiVar23 + 1);" (assignment_expression "pppiVar23 = (int ***)((int)pppiVar23 + 1)" identifier = (cast_expression "(int ***)((int)pppiVar23 + 1)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppiVar23 + 1)" ( (binary_expression "(int)pppiVar23 + 1" (cast_expression "(int)pppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" identifier = (pointer_expression "*(int *)(iVar24 + 0x140)" * (cast_expression "(int *)(iVar24 + 0x140)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x140)" ( (binary_expression "iVar24 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = pppiVar23;" (assignment_expression "pppiVar13 = pppiVar23" identifier = identifier) ;) (expression_statement "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();" (assignment_expression "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))()" identifier = (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7ea8))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(puStack_98 + -0x7ea8))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" ( (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" * (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" * (cast_expression "(code **)(puStack_98 + -0x7ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x7ea8)" ( (binary_expression "puStack_98 + -0x7ea8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto joined_r0x0004902c;" goto statement_identifier ;) (labeled_statement "LAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_5c == *piStack_74) {\n    return;\n  }" if (parenthesized_expression "(iStack_5c == *piStack_74)" ( (binary_expression "iStack_5c == *piStack_74" identifier == (pointer_expression "*piStack_74" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x74e0);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x74e0)" identifier = (pointer_expression "*(code **)(puStack_98 + -0x74e0)" * (cast_expression "(code **)(puStack_98 + -0x74e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_98 + -0x74e0)" ( (binary_expression "puStack_98 + -0x74e0" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = FUN_00049944;" (assignment_expression "pcVar28 = FUN_00049944" identifier = identifier) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar27 + 0x6e80c;" (assignment_expression "pcStack_e8 = pcVar27 + 0x6e80c" identifier = (binary_expression "pcVar27 + 0x6e80c" identifier + number_literal)) ;) (expression_statement "*(int ****)(iVar4 + 0x11c) = pppiVar13;" (assignment_expression "*(int ****)(iVar4 + 0x11c) = pppiVar13" (pointer_expression "*(int ****)(iVar4 + 0x11c)" * (cast_expression "(int ****)(iVar4 + 0x11c)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar4 + 0x11c)" ( (binary_expression "iVar4 + 0x11c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *****)(iVar4 + 0x120) = ppppiVar15;" (assignment_expression "*(int *****)(iVar4 + 0x120) = ppppiVar15" (pointer_expression "*(int *****)(iVar4 + 0x120)" * (cast_expression "(int *****)(iVar4 + 0x120)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar4 + 0x120)" ( (binary_expression "iVar4 + 0x120" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar9 = *(int **)(pcVar27 + 0x67358);" (assignment_expression "piVar9 = *(int **)(pcVar27 + 0x67358)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x67358)" * (cast_expression "(int **)(pcVar27 + 0x67358)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x67358)" ( (binary_expression "pcVar27 + 0x67358" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iStack_dc = iVar7;" (assignment_expression "iStack_dc = iVar7" identifier = identifier) ;) (expression_statement "ppiStack_d8 = (int **)pppiVar23;" (assignment_expression "ppiStack_d8 = (int **)pppiVar23" identifier = (cast_expression "(int **)pppiVar23" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pppiStack_d4 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_d4 = (int ***)ppppiVar22" identifier = (cast_expression "(int ***)ppppiVar22" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "ppiStack_d0 = (int **)unaff_s2;" (assignment_expression "ppiStack_d0 = (int **)unaff_s2" identifier = (cast_expression "(int **)unaff_s2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iStack_cc = iVar24;" (assignment_expression "iStack_cc = iVar24" identifier = identifier) ;) (expression_statement "pppiStack_c8 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_c8 = (int ***)ppppiVar11" identifier = (cast_expression "(int ***)ppppiVar11" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pcStack_c4 = pcVar28;" (assignment_expression "pcStack_c4 = pcVar28" identifier = identifier) ;) (if_statement "if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x144) == 2)" ( (binary_expression "*(int *)(iVar4 + 0x144) == 2" (pointer_expression "*(int *)(iVar4 + 0x144)" * (cast_expression "(int *)(iVar4 + 0x144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x144)" ( (binary_expression "iVar4 + 0x144" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }" { (expression_statement "*(undefined4 *)(iVar4 + 0x148) = 1;" (assignment_expression "*(undefined4 *)(iVar4 + 0x148) = 1" (pointer_expression "*(undefined4 *)(iVar4 + 0x148)" * (cast_expression "(undefined4 *)(iVar4 + 0x148)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x148)" ( (binary_expression "iVar4 + 0x148" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" else (if_statement "if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x144) == 3)" ( (binary_expression "*(int *)(iVar4 + 0x144) == 3" (pointer_expression "*(int *)(iVar4 + 0x144)" * (cast_expression "(int *)(iVar4 + 0x144)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x144)" ( (binary_expression "iVar4 + 0x144" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" { (expression_statement "pppiVar13 = (int ***)0x16;" (assignment_expression "pppiVar13 = (int ***)0x16" identifier = (cast_expression "(int ***)0x16" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "iVar7 = *(int *)(iVar4 + 0x248);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x248)" identifier = (pointer_expression "*(int *)(iVar4 + 0x248)" * (cast_expression "(int *)(iVar4 + 0x248)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x248)" ( (binary_expression "iVar4 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);" (assignment_expression "iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16)" identifier = (call_expression "(**(code **)(pcVar27 + 0x668d0))(iVar7,0x16)" (parenthesized_expression "(**(code **)(pcVar27 + 0x668d0))" ( (pointer_expression "**(code **)(pcVar27 + 0x668d0)" * (pointer_expression "*(code **)(pcVar27 + 0x668d0)" * (cast_expression "(code **)(pcVar27 + 0x668d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x668d0)" ( (binary_expression "pcVar27 + 0x668d0" identifier + number_literal) ))))) )) (argument_list "(iVar7,0x16)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }" { (expression_statement "iVar8 = *(int *)(iVar4 + 0x198);" (assignment_expression "iVar8 = *(int *)(iVar4 + 0x198)" identifier = (pointer_expression "*(int *)(iVar4 + 0x198)" * (cast_expression "(int *)(iVar4 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x198)" ( (binary_expression "iVar4 + 0x198" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }" { (expression_statement "uStack_104 = *(undefined4 *)(iVar4 + 0x11c);" (assignment_expression "uStack_104 = *(undefined4 *)(iVar4 + 0x11c)" identifier = (pointer_expression "*(undefined4 *)(iVar4 + 0x11c)" * (cast_expression "(undefined4 *)(iVar4 + 0x11c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x11c)" ( (binary_expression "iVar4 + 0x11c" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = (int ***)0xb;" (assignment_expression "pppiVar13 = (int ***)0xb" identifier = (cast_expression "(int ***)0xb" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "uStack_f0 = 0;" (assignment_expression "uStack_f0 = 0" identifier = number_literal) ;) (expression_statement "uStack_f4 = 0;" (assignment_expression "uStack_f4 = 0" identifier = number_literal) ;) (expression_statement "uStack_fc = 0;" (assignment_expression "uStack_fc = 0" identifier = number_literal) ;) (expression_statement "iVar7 = iVar4;" (assignment_expression "iVar7 = iVar4" identifier = identifier) ;) (expression_statement "iStack_108 = iVar8;" (assignment_expression "iStack_108 = iVar8" identifier = identifier) ;) (expression_statement "iStack_100 = iVar8;" (assignment_expression "iStack_100 = iVar8" identifier = identifier) ;) (expression_statement "iStack_f8 = iVar8;" (assignment_expression "iStack_f8 = iVar8" identifier = identifier) ;) (expression_statement "FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));" (call_expression "FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120))" identifier (argument_list "(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120))" ( identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(iVar4 + 0x120)" * (cast_expression "(undefined4 *)(iVar4 + 0x120)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x120)" ( (binary_expression "iVar4 + 0x120" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" else (compound_statement "{\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" { (expression_statement "iVar7 = *(int *)(iVar4 + 0x128);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x128)" identifier = (pointer_expression "*(int *)(iVar4 + 0x128)" * (cast_expression "(int *)(iVar4 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x128)" ( (binary_expression "iVar4 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);" (assignment_expression "pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8)" identifier = (pointer_expression "*(int ****)(pcStack_e8 + -0x7fc8)" * (cast_expression "(int ****)(pcStack_e8 + -0x7fc8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(pcStack_e8 + -0x7fc8)" ( (binary_expression "pcStack_e8 + -0x7fc8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }" { (expression_statement "ppppiVar11 = (int ****)&ppiStack_e0;" (assignment_expression "ppppiVar11 = (int ****)&ppiStack_e0" identifier = (cast_expression "(int ****)&ppiStack_e0" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&ppiStack_e0" & identifier))) ;) (expression_statement "unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);" (assignment_expression "unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" identifier = (cast_expression "(int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" identifier (argument_list "(iVar7,pppiVar13 + 0x1235,0,0)" ( identifier , (binary_expression "pppiVar13 + 0x1235" identifier + number_literal) , number_literal , number_literal ))))) ;) (expression_statement "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));" (call_expression "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c))" identifier (argument_list "(unaff_s2,*(undefined4 *)(iVar4 + 0x11c))" ( identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x11c)" * (cast_expression "(undefined4 *)(iVar4 + 0x11c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x11c)" ( (binary_expression "iVar4 + 0x11c" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));" (call_expression "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120))" identifier (argument_list "(unaff_s2,*(undefined4 *)(iVar4 + 0x120))" ( identifier , (pointer_expression "*(undefined4 *)(iVar4 + 0x120)" * (cast_expression "(undefined4 *)(iVar4 + 0x120)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x120)" ( (binary_expression "iVar4 + 0x120" identifier + number_literal) )))) ))) ;) (expression_statement "iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;" (assignment_expression "iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c" identifier = (binary_expression "*(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c" (pointer_expression "*(int *)(pcStack_e8 + -0x7b0c)" * (cast_expression "(int *)(pcStack_e8 + -0x7b0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_e8 + -0x7b0c)" ( (binary_expression "pcStack_e8 + -0x7b0c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppiStack_e0 = (int **)0x0;" (assignment_expression "ppiStack_e0 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_0003a494(unaff_s2,ppppiVar11,4);" (call_expression "FUN_0003a494(unaff_s2,ppppiVar11,4)" identifier (argument_list "(unaff_s2,ppppiVar11,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "ppiStack_e0 = (int **)0x0;" (assignment_expression "ppiStack_e0 = (int **)0x0" identifier = (cast_expression "(int **)0x0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_0003a494(unaff_s2,ppppiVar11,4);" (call_expression "FUN_0003a494(unaff_s2,ppppiVar11,4)" identifier (argument_list "(unaff_s2,ppppiVar11,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar7 = iVar4;" (assignment_expression "iVar7 = iVar4" identifier = identifier) ;) (expression_statement "pppiVar13 = unaff_s2;" (assignment_expression "pppiVar13 = unaff_s2" identifier = identifier) ;) (expression_statement "FUN_00045998(iVar4,unaff_s2);" (call_expression "FUN_00045998(iVar4,unaff_s2)" identifier (argument_list "(iVar4,unaff_s2)" ( identifier , identifier ))) ;) })) }))) })) })))) (if_statement "if (iStack_dc == *piVar9) {\n    return;\n  }" if (parenthesized_expression "(iStack_dc == *piVar9)" ( (binary_expression "iStack_dc == *piVar9" identifier == (pointer_expression "*piVar9" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar27 = *(code **)(pcStack_e8 + -0x74e0);" (assignment_expression "pcVar27 = *(code **)(pcStack_e8 + -0x74e0)" identifier = (pointer_expression "*(code **)(pcStack_e8 + -0x74e0)" * (cast_expression "(code **)(pcStack_e8 + -0x74e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x74e0)" ( (binary_expression "pcStack_e8 + -0x74e0" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 0x49af8;" (assignment_expression "uVar5 = 0x49af8" identifier = number_literal) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar25 = *(int **)(pcVar27 + 0x671a4);" (assignment_expression "piVar25 = *(int **)(pcVar27 + 0x671a4)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x671a4)" * (cast_expression "(int **)(pcVar27 + 0x671a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x671a4)" ( (binary_expression "pcVar27 + 0x671a4" identifier + number_literal) ))))) ;) (expression_statement "iStack_13c = *piVar25;" (assignment_expression "iStack_13c = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "iStack_138 = iVar4;" (assignment_expression "iStack_138 = iVar4" identifier = identifier) ;) (expression_statement "piStack_134 = piVar9;" (assignment_expression "piStack_134 = piVar9" identifier = identifier) ;) (expression_statement "ppiStack_130 = (int **)unaff_s2;" (assignment_expression "ppiStack_130 = (int **)unaff_s2" identifier = (cast_expression "(int **)unaff_s2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "iStack_12c = iVar24;" (assignment_expression "iStack_12c = iVar24" identifier = identifier) ;) (expression_statement "pppiStack_128 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_128 = (int ***)ppppiVar11" identifier = (cast_expression "(int ***)ppppiVar11" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "pppiStack_124 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_124 = (int ***)ppppiVar20" identifier = (cast_expression "(int ***)ppppiVar20" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "iStack_120 = iVar19;" (assignment_expression "iStack_120 = iVar19" identifier = identifier) ;) (expression_statement "uStack_11c = uVar5;" (assignment_expression "uStack_11c = uVar5" identifier = identifier) ;) (expression_statement "iVar24 = FUN_00036188(pppiVar13);" (assignment_expression "iVar24 = FUN_00036188(pppiVar13)" identifier = (call_expression "FUN_00036188(pppiVar13)" identifier (argument_list "(pppiVar13)" ( identifier )))) ;) (expression_statement "FUN_00036ca4();" (call_expression "FUN_00036ca4()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar5 = FUN_00036188(pppiVar13);" (assignment_expression "uVar5 = FUN_00036188(pppiVar13)" identifier = (call_expression "FUN_00036188(pppiVar13)" identifier (argument_list "(pppiVar13)" ( identifier )))) ;) (if_statement "if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }" if (parenthesized_expression "(iStack_15c == 0)" ( (binary_expression "iStack_15c == 0" identifier == number_literal) )) (compound_statement "{\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }" { (expression_statement "iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;" (assignment_expression "iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54" identifier = (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x2d54" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);" (assignment_expression "iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" identifier = (call_expression "(**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666ec))" ( (pointer_expression "**(code **)(pcVar27 + 0x666ec)" * (pointer_expression "*(code **)(pcVar27 + 0x666ec)" * (cast_expression "(code **)(pcVar27 + 0x666ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666ec)" ( (binary_expression "pcVar27 + 0x666ec" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" ( (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x3218" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uStack_154 = uVar5;" (assignment_expression "uStack_154 = uVar5" identifier = identifier) ;) (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" identifier = (call_expression "(**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" (parenthesized_expression "(**(code **)(pcVar27 + 0x667c0))" ( (pointer_expression "**(code **)(pcVar27 + 0x667c0)" * (pointer_expression "*(code **)(pcVar27 + 0x667c0)" * (cast_expression "(code **)(pcVar27 + 0x667c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x667c0)" ( (binary_expression "pcVar27 + 0x667c0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x13c)" * (cast_expression "(undefined4 *)(iVar7 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x13c)" ( (binary_expression "iVar7 + 0x13c" identifier + number_literal) )))) , identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }" { (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5)" identifier (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x48e4" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) }) (else_clause "else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" else (compound_statement "{\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" { (expression_statement "piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" identifier = (cast_expression "(int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666f0))" ( (pointer_expression "**(code **)(pcVar27 + 0x666f0)" * (pointer_expression "*(code **)(pcVar27 + 0x666f0)" * (cast_expression "(code **)(pcVar27 + 0x666f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666f0)" ( (binary_expression "pcVar27 + 0x666f0" identifier + number_literal) ))))) )) (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "*piVar9 = iVar7;" (assignment_expression "*piVar9 = iVar7" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5)" identifier (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x4910" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" identifier = (call_expression "(**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" (parenthesized_expression "(**(code **)(pcVar27 + 0x66cac))" ( (pointer_expression "**(code **)(pcVar27 + 0x66cac)" * (pointer_expression "*(code **)(pcVar27 + 0x66cac)" * (cast_expression "(code **)(pcVar27 + 0x66cac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66cac)" ( (binary_expression "pcVar27 + 0x66cac" identifier + number_literal) ))))) )) (argument_list "(piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" ( (binary_expression "piVar9 + 0x13" identifier + number_literal) , identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(iVar7 + 0x248)" * (cast_expression "(undefined4 *)(iVar7 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x248)" ( (binary_expression "iVar7 + 0x248" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" * (cast_expression "(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar4 + 0x18) + 0x24)" ( (binary_expression "*(int *)(iVar4 + 0x18) + 0x24" (pointer_expression "*(int *)(iVar4 + 0x18)" * (cast_expression "(int *)(iVar4 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x18)" ( (binary_expression "iVar4 + 0x18" identifier + number_literal) )))) + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }" { (expression_statement "FUN_0003d798(piVar9);" (call_expression "FUN_0003d798(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) (expression_statement "piVar9[3] = 3;" (assignment_expression "piVar9[3] = 3" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[1] = iVar24;" (assignment_expression "piVar9[1] = iVar24" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);" (call_expression "FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0)" identifier (argument_list "(iVar7,0x15,1,iVar24,1,piVar9[2],0)" ( identifier , number_literal , number_literal , identifier , number_literal , (subscript_expression "piVar9[2]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;" (assignment_expression "iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8" identifier = (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x41e8" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);" (call_expression "(**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66714))" ( (pointer_expression "**(code **)(pcVar27 + 0x66714)" * (pointer_expression "*(code **)(pcVar27 + 0x66714)" * (cast_expression "(code **)(pcVar27 + 0x66714)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66714)" ( (binary_expression "pcVar27 + 0x66714" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar7 + 0x110),iVar4)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0x110)" * (cast_expression "(undefined4 *)(iVar7 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x110)" ( (binary_expression "iVar7 + 0x110" identifier + number_literal) )))) , identifier ))) ;) (goto_statement "goto LAB_00049cac;" goto statement_identifier ;) })) (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4)" identifier (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x41d0" (pointer_expression "*(int *)(pcVar27 + 0x66690)" * (cast_expression "(int *)(pcVar27 + 0x66690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x66690)" ( (binary_expression "pcVar27 + 0x66690" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar27 + 0x666b8))(iVar4);" (call_expression "(**(code **)(pcVar27 + 0x666b8))(iVar4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar27 + 0x666b8)" * (pointer_expression "*(code **)(pcVar27 + 0x666b8)" * (cast_expression "(code **)(pcVar27 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666b8)" ( (binary_expression "pcVar27 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar27 + 0x666b8))(piVar9);" (call_expression "(**(code **)(pcVar27 + 0x666b8))(piVar9)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar27 + 0x666b8)" * (pointer_expression "*(code **)(pcVar27 + 0x666b8)" * (cast_expression "(code **)(pcVar27 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666b8)" ( (binary_expression "pcVar27 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "(piVar9)" ( identifier ))) ;) }))) (expression_statement "iVar4 = 0x16;" (assignment_expression "iVar4 = 0x16" identifier = number_literal) ;) (expression_statement "FUN_00048a74(iVar7,0x16,1,iVar24,0);" (call_expression "FUN_00048a74(iVar7,0x16,1,iVar24,0)" identifier (argument_list "(iVar7,0x16,1,iVar24,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (labeled_statement "LAB_00049cac:\n  iVar24 = iStack_14c;" statement_identifier : (expression_statement "iVar24 = iStack_14c;" (assignment_expression "iVar24 = iStack_14c" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar27 + 0x666b8))();" (call_expression "(**(code **)(pcVar27 + 0x666b8))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" ( (pointer_expression "**(code **)(pcVar27 + 0x666b8)" * (pointer_expression "*(code **)(pcVar27 + 0x666b8)" * (cast_expression "(code **)(pcVar27 + 0x666b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x666b8)" ( (binary_expression "pcVar27 + 0x666b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (if_statement "if (iStack_13c == *piVar25) {\n    return;\n  }" if (parenthesized_expression "(iStack_13c == *piVar25)" ( (binary_expression "iStack_13c == *piVar25" identifier == (pointer_expression "*piVar25" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x67178);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x67178)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x67178)" * (cast_expression "(code **)(pcVar27 + 0x67178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x67178)" ( (binary_expression "pcVar27 + 0x67178" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = FUN_00036188(iVar4);" (assignment_expression "iVar4 = FUN_00036188(iVar4)" identifier = (call_expression "FUN_00036188(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" ( (pointer_expression "**(code **)(pcVar27 + 0x66468)" * (pointer_expression "*(code **)(pcVar27 + 0x66468)" * (cast_expression "(code **)(pcVar27 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66468)" ( (binary_expression "pcVar27 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" * (cast_expression "(undefined4 *)(iVar24 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x110)" ( (binary_expression "iVar24 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x493c" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" * (cast_expression "(int *)(pcVar27 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x663e4)" ( (binary_expression "pcVar27 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar24 + 0x4c) == 0)" ( (binary_expression "*(int *)(iVar24 + 0x4c) == 0" (pointer_expression "*(int *)(iVar24 + 0x4c)" * (cast_expression "(int *)(iVar24 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x4c)" ( (binary_expression "iVar24 + 0x4c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }" { (expression_statement "FUN_00048a74(iVar24,0x16,1,iVar4,0);" (call_expression "FUN_00048a74(iVar24,0x16,1,iVar4,0)" identifier (argument_list "(iVar24,0x16,1,iVar4,0)" ( identifier , number_literal , number_literal , identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" ( (pointer_expression "**(code **)(pcVar27 + 0x66468)" * (pointer_expression "*(code **)(pcVar27 + 0x66468)" * (cast_expression "(code **)(pcVar27 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66468)" ( (binary_expression "pcVar27 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" * (cast_expression "(undefined4 *)(iVar24 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x110)" ( (binary_expression "iVar24 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x495c" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" * (cast_expression "(int *)(pcVar27 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x663e4)" ( (binary_expression "pcVar27 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c)" identifier = (cast_expression "(int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar27 + 0x66444))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66444))" ( (pointer_expression "**(code **)(pcVar27 + 0x66444)" * (pointer_expression "*(code **)(pcVar27 + 0x66444)" * (cast_expression "(code **)(pcVar27 + 0x66444)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66444)" ( (binary_expression "pcVar27 + 0x66444" identifier + number_literal) ))))) )) (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "*piVar9 = iVar24;" (assignment_expression "*piVar9 = iVar24" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "FUN_0003d798(piVar9);" (call_expression "FUN_0003d798(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) (expression_statement "iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);" (assignment_expression "iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" identifier = (call_expression "(**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar27 + 0x669fc))" ( (pointer_expression "**(code **)(pcVar27 + 0x669fc)" * (pointer_expression "*(code **)(pcVar27 + 0x669fc)" * (cast_expression "(code **)(pcVar27 + 0x669fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x669fc)" ( (binary_expression "pcVar27 + 0x669fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x194)" * (cast_expression "(undefined4 *)(iVar24 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x194)" ( (binary_expression "iVar24 + 0x194" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (expression_statement "piVar9[0x13] = iVar19;" (assignment_expression "piVar9[0x13] = iVar19" (subscript_expression "piVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[1] = iVar4;" (assignment_expression "piVar9[1] = iVar4" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 1;" (assignment_expression "piVar9[3] = 1" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);" (call_expression "FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0)" identifier (argument_list "(iVar24,0x15,1,iVar4,1,piVar9[2],0)" ( identifier , number_literal , number_literal , identifier , number_literal , (subscript_expression "piVar9[2]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" ( (pointer_expression "**(code **)(pcVar27 + 0x66468)" * (pointer_expression "*(code **)(pcVar27 + 0x66468)" * (cast_expression "(code **)(pcVar27 + 0x66468)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x66468)" ( (binary_expression "pcVar27 + 0x66468" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240)" ( (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" * (cast_expression "(undefined4 *)(iVar24 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x110)" ( (binary_expression "iVar24 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x4240" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" * (cast_expression "(int *)(pcVar27 + 0x663e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x663e4)" ( (binary_expression "pcVar27 + 0x663e4" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (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) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (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) ))))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_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 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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_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 IDENT + LIT) )))) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement 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) )))) + LIT)) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (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 , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (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 ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (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 ( ))) ;) })) }) (else_clause else (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) ))))) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))))) ;) (expression_statement (call_expression IDENT (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (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 (call_expression IDENT (argument_list ( IDENT , (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 (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (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 ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) while (parenthesized_expression ( BOOL )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + 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 ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (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) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (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 ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 { (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 * (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) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (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) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , 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 ( LIT )))) ;) (expression_statement (call_expression IDENT (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 = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) }))) })) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (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 , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , (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) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , LIT , (subscript_expression IDENT [ LIT ]) , 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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) ))) ;) (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 IDENT (argument_list ( IDENT , LIT , LIT , 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) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT , LIT , (subscript_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) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    \n                    \n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00048a74(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (identifier "FUN_00048a74") (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  bool bVar1;\n  code *pcVar2;\n  undefined *puVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int ***pppiVar10;\n  int ****ppppiVar11;\n  int **ppiVar12;\n  int ***pppiVar13;\n  int ***pppiVar14;\n  int ****ppppiVar15;\n  int iVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar19;\n  int ****ppppiVar20;\n  char *pcVar21;\n  int ****ppppiVar22;\n  int ***unaff_s2;\n  int ***pppiVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined4 uStack_160;\n  int iStack_15c;\n  undefined1 auStack_158 [4];\n  undefined4 uStack_154;\n  int iStack_14c;\n  int iStack_13c;\n  int iStack_138;\n  int *piStack_134;\n  int **ppiStack_130;\n  int iStack_12c;\n  int ***pppiStack_128;\n  int ***pppiStack_124;\n  int iStack_120;\n  undefined4 uStack_11c;\n  int iStack_108;\n  undefined4 uStack_104;\n  int iStack_100;\n  undefined4 uStack_fc;\n  int iStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  code *pcStack_e8;\n  int **ppiStack_e0;\n  int iStack_dc;\n  int **ppiStack_d8;\n  int ***pppiStack_d4;\n  int **ppiStack_d0;\n  int iStack_cc;\n  int ***pppiStack_c8;\n  code *pcStack_c4;\n  int ***pppiStack_b0;\n  int ***pppiStack_ac;\n  int ***pppiStack_a8;\n  int *piStack_a4;\n  undefined4 uStack_a0;\n  undefined *puStack_98;\n  undefined4 uStack_90;\n  int ***pppiStack_8c;\n  code *pcStack_88;\n  int ***pppiStack_84;\n  int iStack_80;\n  int iStack_7c;\n  code *pcStack_78;\n  int *piStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined1 uStack_61;\n  int ***pppiStack_60;\n  int iStack_5c;\n  undefined *puStack_58;\n  int iStack_54;\n  \n  puVar3 = PTR___stack_chk_guard_000b0c9c;\n  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;\n  local_res8 = param_3;\n  local_resc = param_4;\n  uVar5 = FUN_0003bbb8(param_2,&local_res8);\n  iVar24 = param_1;\n  FUN_00048968();\n  if (iVar4 == *(int *)puVar3) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b0c70;\n  (*(code *)PTR___stack_chk_fail_000b0c70)();\n  puStack_98 = puVar26 + 0x6f638;\n  piStack_74 = *(int **)(puVar26 + 0x68184);\n  puStack_58 = puVar3;\n  iStack_5c = *piStack_74;\n  iVar4 = *(int *)(iVar24 + 0x140);\n  iVar19 = 0;\n  uStack_90 = uVar5;\n  iStack_54 = param_1;\n  if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }\n  pppiStack_84 = (int ***)&pppiStack_60;\n  ppppiVar15 = (int ****)0x0;\n  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);\n  if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }\n  iVar4 = 0;\n  iVar7 = *(int *)(puStack_98 + -0x7fc8);\n  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);\n  iVar19 = *(int *)(puStack_98 + -0x7fc8);\n  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);\n  do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );\njoined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;\n  if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }\n  pppiVar23 = (int ***)((int)pppiVar23 + 1);\n  iVar4 = *(int *)(iVar24 + 0x140);\n  pppiVar13 = pppiVar23;\n  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n  goto joined_r0x0004902c;\nLAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }\n  pcVar27 = *(code **)(puStack_98 + -0x74e0);\n  pcVar28 = FUN_00049944;\n  (*pcVar27)();\n  pcStack_e8 = pcVar27 + 0x6e80c;\n  *(int ****)(iVar4 + 0x11c) = pppiVar13;\n  *(int *****)(iVar4 + 0x120) = ppppiVar15;\n  piVar9 = *(int **)(pcVar27 + 0x67358);\n  iVar7 = *piVar9;\n  iStack_dc = iVar7;\n  ppiStack_d8 = (int **)pppiVar23;\n  pppiStack_d4 = (int ***)ppppiVar22;\n  ppiStack_d0 = (int **)unaff_s2;\n  iStack_cc = iVar24;\n  pppiStack_c8 = (int ***)ppppiVar11;\n  pcStack_c4 = pcVar28;\n  if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }\n  if (iStack_dc == *piVar9) {\n    return;\n  }\n  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);\n  uVar5 = 0x49af8;\n  (*pcVar27)();\n  piVar25 = *(int **)(pcVar27 + 0x671a4);\n  iStack_13c = *piVar25;\n  iStack_138 = iVar4;\n  piStack_134 = piVar9;\n  ppiStack_130 = (int **)unaff_s2;\n  iStack_12c = iVar24;\n  pppiStack_128 = (int ***)ppppiVar11;\n  pppiStack_124 = (int ***)ppppiVar20;\n  iStack_120 = iVar19;\n  uStack_11c = uVar5;\n  iVar24 = FUN_00036188(pppiVar13);\n  FUN_00036ca4();\n  uVar5 = FUN_00036188(pppiVar13);\n  if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }\n  iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);\n  uStack_154 = uVar5;\n  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);\n  if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }\n  iVar4 = 0x16;\n  FUN_00048a74(iVar7,0x16,1,iVar24,0);\nLAB_00049cac:\n  iVar24 = iStack_14c;\n  (**(code **)(pcVar27 + 0x666b8))();\n  if (iStack_13c == *piVar25) {\n    return;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x67178);\n  (*pcVar27)();\n  iVar4 = FUN_00036188(iVar4);\n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);\n  if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }\n  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);\n  *piVar9 = iVar24;\n  FUN_0003d798(piVar9);\n  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);\n  piVar9[0x13] = iVar19;\n  piVar9[1] = iVar4;\n  piVar9[4] = 0;\n  piVar9[3] = 1;\n  FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);\n                    \n                    \n  (**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);\n  return;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "code *pcVar2;" (type_identifier "code") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int ***pppiVar10;" (primitive_type "int") (pointer_declarator "***pppiVar10" (* "*") (pointer_declarator "**pppiVar10" (* "*") (pointer_declarator "*pppiVar10" (* "*") (identifier "pppiVar10")))) (; ";")) (declaration "int ****ppppiVar11;" (primitive_type "int") (pointer_declarator "****ppppiVar11" (* "*") (pointer_declarator "***ppppiVar11" (* "*") (pointer_declarator "**ppppiVar11" (* "*") (pointer_declarator "*ppppiVar11" (* "*") (identifier "ppppiVar11"))))) (; ";")) (declaration "int **ppiVar12;" (primitive_type "int") (pointer_declarator "**ppiVar12" (* "*") (pointer_declarator "*ppiVar12" (* "*") (identifier "ppiVar12"))) (; ";")) (declaration "int ***pppiVar13;" (primitive_type "int") (pointer_declarator "***pppiVar13" (* "*") (pointer_declarator "**pppiVar13" (* "*") (pointer_declarator "*pppiVar13" (* "*") (identifier "pppiVar13")))) (; ";")) (declaration "int ***pppiVar14;" (primitive_type "int") (pointer_declarator "***pppiVar14" (* "*") (pointer_declarator "**pppiVar14" (* "*") (pointer_declarator "*pppiVar14" (* "*") (identifier "pppiVar14")))) (; ";")) (declaration "int ****ppppiVar15;" (primitive_type "int") (pointer_declarator "****ppppiVar15" (* "*") (pointer_declarator "***ppppiVar15" (* "*") (pointer_declarator "**ppppiVar15" (* "*") (pointer_declarator "*ppppiVar15" (* "*") (identifier "ppppiVar15"))))) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int ****ppppiVar17;" (primitive_type "int") (pointer_declarator "****ppppiVar17" (* "*") (pointer_declarator "***ppppiVar17" (* "*") (pointer_declarator "**ppppiVar17" (* "*") (pointer_declarator "*ppppiVar17" (* "*") (identifier "ppppiVar17"))))) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int ****ppppiVar20;" (primitive_type "int") (pointer_declarator "****ppppiVar20" (* "*") (pointer_declarator "***ppppiVar20" (* "*") (pointer_declarator "**ppppiVar20" (* "*") (pointer_declarator "*ppppiVar20" (* "*") (identifier "ppppiVar20"))))) (; ";")) (declaration "char *pcVar21;" (primitive_type "char") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "int ****ppppiVar22;" (primitive_type "int") (pointer_declarator "****ppppiVar22" (* "*") (pointer_declarator "***ppppiVar22" (* "*") (pointer_declarator "**ppppiVar22" (* "*") (pointer_declarator "*ppppiVar22" (* "*") (identifier "ppppiVar22"))))) (; ";")) (declaration "int ***unaff_s2;" (primitive_type "int") (pointer_declarator "***unaff_s2" (* "*") (pointer_declarator "**unaff_s2" (* "*") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")))) (; ";")) (declaration "int ***pppiVar23;" (primitive_type "int") (pointer_declarator "***pppiVar23" (* "*") (pointer_declarator "**pppiVar23" (* "*") (pointer_declarator "*pppiVar23" (* "*") (identifier "pppiVar23")))) (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "undefined *puVar26;" (type_identifier "undefined") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "undefined4 local_res8;" (type_identifier "undefined4") (identifier "local_res8") (; ";")) (declaration "undefined4 local_resc;" (type_identifier "undefined4") (identifier "local_resc") (; ";")) (declaration "undefined4 uStack_160;" (type_identifier "undefined4") (identifier "uStack_160") (; ";")) (declaration "int iStack_15c;" (primitive_type "int") (identifier "iStack_15c") (; ";")) (declaration "undefined1 auStack_158 [4];" (type_identifier "undefined1") (array_declarator "auStack_158 [4]" (identifier "auStack_158") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 uStack_154;" (type_identifier "undefined4") (identifier "uStack_154") (; ";")) (declaration "int iStack_14c;" (primitive_type "int") (identifier "iStack_14c") (; ";")) (declaration "int iStack_13c;" (primitive_type "int") (identifier "iStack_13c") (; ";")) (declaration "int iStack_138;" (primitive_type "int") (identifier "iStack_138") (; ";")) (declaration "int *piStack_134;" (primitive_type "int") (pointer_declarator "*piStack_134" (* "*") (identifier "piStack_134")) (; ";")) (declaration "int **ppiStack_130;" (primitive_type "int") (pointer_declarator "**ppiStack_130" (* "*") (pointer_declarator "*ppiStack_130" (* "*") (identifier "ppiStack_130"))) (; ";")) (declaration "int iStack_12c;" (primitive_type "int") (identifier "iStack_12c") (; ";")) (declaration "int ***pppiStack_128;" (primitive_type "int") (pointer_declarator "***pppiStack_128" (* "*") (pointer_declarator "**pppiStack_128" (* "*") (pointer_declarator "*pppiStack_128" (* "*") (identifier "pppiStack_128")))) (; ";")) (declaration "int ***pppiStack_124;" (primitive_type "int") (pointer_declarator "***pppiStack_124" (* "*") (pointer_declarator "**pppiStack_124" (* "*") (pointer_declarator "*pppiStack_124" (* "*") (identifier "pppiStack_124")))) (; ";")) (declaration "int iStack_120;" (primitive_type "int") (identifier "iStack_120") (; ";")) (declaration "undefined4 uStack_11c;" (type_identifier "undefined4") (identifier "uStack_11c") (; ";")) (declaration "int iStack_108;" (primitive_type "int") (identifier "iStack_108") (; ";")) (declaration "undefined4 uStack_104;" (type_identifier "undefined4") (identifier "uStack_104") (; ";")) (declaration "int iStack_100;" (primitive_type "int") (identifier "iStack_100") (; ";")) (declaration "undefined4 uStack_fc;" (type_identifier "undefined4") (identifier "uStack_fc") (; ";")) (declaration "int iStack_f8;" (primitive_type "int") (identifier "iStack_f8") (; ";")) (declaration "undefined4 uStack_f4;" (type_identifier "undefined4") (identifier "uStack_f4") (; ";")) (declaration "undefined4 uStack_f0;" (type_identifier "undefined4") (identifier "uStack_f0") (; ";")) (declaration "code *pcStack_e8;" (type_identifier "code") (pointer_declarator "*pcStack_e8" (* "*") (identifier "pcStack_e8")) (; ";")) (declaration "int **ppiStack_e0;" (primitive_type "int") (pointer_declarator "**ppiStack_e0" (* "*") (pointer_declarator "*ppiStack_e0" (* "*") (identifier "ppiStack_e0"))) (; ";")) (declaration "int iStack_dc;" (primitive_type "int") (identifier "iStack_dc") (; ";")) (declaration "int **ppiStack_d8;" (primitive_type "int") (pointer_declarator "**ppiStack_d8" (* "*") (pointer_declarator "*ppiStack_d8" (* "*") (identifier "ppiStack_d8"))) (; ";")) (declaration "int ***pppiStack_d4;" (primitive_type "int") (pointer_declarator "***pppiStack_d4" (* "*") (pointer_declarator "**pppiStack_d4" (* "*") (pointer_declarator "*pppiStack_d4" (* "*") (identifier "pppiStack_d4")))) (; ";")) (declaration "int **ppiStack_d0;" (primitive_type "int") (pointer_declarator "**ppiStack_d0" (* "*") (pointer_declarator "*ppiStack_d0" (* "*") (identifier "ppiStack_d0"))) (; ";")) (declaration "int iStack_cc;" (primitive_type "int") (identifier "iStack_cc") (; ";")) (declaration "int ***pppiStack_c8;" (primitive_type "int") (pointer_declarator "***pppiStack_c8" (* "*") (pointer_declarator "**pppiStack_c8" (* "*") (pointer_declarator "*pppiStack_c8" (* "*") (identifier "pppiStack_c8")))) (; ";")) (declaration "code *pcStack_c4;" (type_identifier "code") (pointer_declarator "*pcStack_c4" (* "*") (identifier "pcStack_c4")) (; ";")) (declaration "int ***pppiStack_b0;" (primitive_type "int") (pointer_declarator "***pppiStack_b0" (* "*") (pointer_declarator "**pppiStack_b0" (* "*") (pointer_declarator "*pppiStack_b0" (* "*") (identifier "pppiStack_b0")))) (; ";")) (declaration "int ***pppiStack_ac;" (primitive_type "int") (pointer_declarator "***pppiStack_ac" (* "*") (pointer_declarator "**pppiStack_ac" (* "*") (pointer_declarator "*pppiStack_ac" (* "*") (identifier "pppiStack_ac")))) (; ";")) (declaration "int ***pppiStack_a8;" (primitive_type "int") (pointer_declarator "***pppiStack_a8" (* "*") (pointer_declarator "**pppiStack_a8" (* "*") (pointer_declarator "*pppiStack_a8" (* "*") (identifier "pppiStack_a8")))) (; ";")) (declaration "int *piStack_a4;" (primitive_type "int") (pointer_declarator "*piStack_a4" (* "*") (identifier "piStack_a4")) (; ";")) (declaration "undefined4 uStack_a0;" (type_identifier "undefined4") (identifier "uStack_a0") (; ";")) (declaration "undefined *puStack_98;" (type_identifier "undefined") (pointer_declarator "*puStack_98" (* "*") (identifier "puStack_98")) (; ";")) (declaration "undefined4 uStack_90;" (type_identifier "undefined4") (identifier "uStack_90") (; ";")) (declaration "int ***pppiStack_8c;" (primitive_type "int") (pointer_declarator "***pppiStack_8c" (* "*") (pointer_declarator "**pppiStack_8c" (* "*") (pointer_declarator "*pppiStack_8c" (* "*") (identifier "pppiStack_8c")))) (; ";")) (declaration "code *pcStack_88;" (type_identifier "code") (pointer_declarator "*pcStack_88" (* "*") (identifier "pcStack_88")) (; ";")) (declaration "int ***pppiStack_84;" (primitive_type "int") (pointer_declarator "***pppiStack_84" (* "*") (pointer_declarator "**pppiStack_84" (* "*") (pointer_declarator "*pppiStack_84" (* "*") (identifier "pppiStack_84")))) (; ";")) (declaration "int iStack_80;" (primitive_type "int") (identifier "iStack_80") (; ";")) (declaration "int iStack_7c;" (primitive_type "int") (identifier "iStack_7c") (; ";")) (declaration "code *pcStack_78;" (type_identifier "code") (pointer_declarator "*pcStack_78" (* "*") (identifier "pcStack_78")) (; ";")) (declaration "int *piStack_74;" (primitive_type "int") (pointer_declarator "*piStack_74" (* "*") (identifier "piStack_74")) (; ";")) (declaration "int iStack_70;" (primitive_type "int") (identifier "iStack_70") (; ";")) (declaration "int iStack_6c;" (primitive_type "int") (identifier "iStack_6c") (; ";")) (declaration "undefined1 uStack_61;" (type_identifier "undefined1") (identifier "uStack_61") (; ";")) (declaration "int ***pppiStack_60;" (primitive_type "int") (pointer_declarator "***pppiStack_60" (* "*") (pointer_declarator "**pppiStack_60" (* "*") (pointer_declarator "*pppiStack_60" (* "*") (identifier "pppiStack_60")))) (; ";")) (declaration "int iStack_5c;" (primitive_type "int") (identifier "iStack_5c") (; ";")) (declaration "undefined *puStack_58;" (type_identifier "undefined") (pointer_declarator "*puStack_58" (* "*") (identifier "puStack_58")) (; ";")) (declaration "int iStack_54;" (primitive_type "int") (identifier "iStack_54") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_000b0c9c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000b0c9c" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_000b0c9c")) (; ";")) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c" (identifier "iVar4") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000b0c9c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000b0c9c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b0c9c")))) (; ";")) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" (identifier "local_res8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" (identifier "local_resc") (= "=") (identifier "param_4")) (; ";")) (expression_statement "uVar5 = FUN_0003bbb8(param_2,&local_res8);" (assignment_expression "uVar5 = FUN_0003bbb8(param_2,&local_res8)" (identifier "uVar5") (= "=") (call_expression "FUN_0003bbb8(param_2,&local_res8)" (identifier "FUN_0003bbb8") (argument_list "(param_2,&local_res8)" (( "(") (identifier "param_2") (, ",") (pointer_expression "&local_res8" (& "&") (identifier "local_res8")) () ")")))) (; ";")) (expression_statement "iVar24 = param_1;" (assignment_expression "iVar24 = param_1" (identifier "iVar24") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_00048968();" (call_expression "FUN_00048968()" (identifier "FUN_00048968") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar4 == *(int *)puVar3) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar4 == *(int *)puVar3)" (( "(") (binary_expression "iVar4 == *(int *)puVar3" (identifier "iVar4") (== "==") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar26 = PTR___stack_chk_fail_000b0c70;" (assignment_expression "puVar26 = PTR___stack_chk_fail_000b0c70" (identifier "puVar26") (= "=") (identifier "PTR___stack_chk_fail_000b0c70")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000b0c70)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b0c70)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b0c70)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b0c70" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b0c70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b0c70"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_98 = puVar26 + 0x6f638;" (assignment_expression "puStack_98 = puVar26 + 0x6f638" (identifier "puStack_98") (= "=") (binary_expression "puVar26 + 0x6f638" (identifier "puVar26") (+ "+") (number_literal "0x6f638"))) (; ";")) (expression_statement "piStack_74 = *(int **)(puVar26 + 0x68184);" (assignment_expression "piStack_74 = *(int **)(puVar26 + 0x68184)" (identifier "piStack_74") (= "=") (pointer_expression "*(int **)(puVar26 + 0x68184)" (* "*") (cast_expression "(int **)(puVar26 + 0x68184)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x68184)" (( "(") (binary_expression "puVar26 + 0x68184" (identifier "puVar26") (+ "+") (number_literal "0x68184")) () ")"))))) (; ";")) (expression_statement "puStack_58 = puVar3;" (assignment_expression "puStack_58 = puVar3" (identifier "puStack_58") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "iStack_5c = *piStack_74;" (assignment_expression "iStack_5c = *piStack_74" (identifier "iStack_5c") (= "=") (pointer_expression "*piStack_74" (* "*") (identifier "piStack_74"))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar24 + 0x140)" (* "*") (cast_expression "(int *)(iVar24 + 0x140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_90 = uVar5;" (assignment_expression "uStack_90 = uVar5" (identifier "uStack_90") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iStack_54 = param_1;" (assignment_expression "iStack_54 = param_1" (identifier "iStack_54") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (iVar4 == 0) {\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }\n  else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);\n    *(undefined4 *)(iVar24 + 0x140) = uVar5;\n  }" ({ "{") (expression_statement "uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);" (assignment_expression "uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" (parenthesized_expression "(**(code **)(puVar26 + 0x67784))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x67784)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x67784)" (* "*") (cast_expression "(code **)(puVar26 + 0x67784)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x67784)" (( "(") (binary_expression "puVar26 + 0x67784" (identifier "puVar26") (+ "+") (number_literal "0x67784")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x67b2c) + -0x2c58)" (( "(") (binary_expression "*(int *)(puVar26 + 0x67b2c) + -0x2c58" (pointer_expression "*(int *)(puVar26 + 0x67b2c)" (* "*") (cast_expression "(int *)(puVar26 + 0x67b2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x67b2c)" (( "(") (binary_expression "puVar26 + 0x67b2c" (identifier "puVar26") (+ "+") (number_literal "0x67b2c")) () ")")))) (+ "+") (number_literal "-0x2c58")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar24 + 0x140) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x140) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x140)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}")) (else_clause "else {\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" (else "else") (compound_statement "{\n    pcVar27 = *(code **)(puVar26 + 0x67790);\n    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }\n  }" ({ "{") (expression_statement "pcVar27 = *(code **)(puVar26 + 0x67790);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x67790)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x67790)" (* "*") (cast_expression "(code **)(puVar26 + 0x67790)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x67790)" (( "(") (binary_expression "puVar26 + 0x67790" (identifier "puVar26") (+ "+") (number_literal "0x67790")) () ")"))))) (; ";")) (while_statement "while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }" (while "while") (parenthesized_expression "(puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0)" (( "(") (comma_expression "puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0" (assignment_expression "puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*pcVar27)(iVar4,iVar19)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar27)(iVar4,iVar19)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar4,iVar19)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar19") () ")"))))) (, ",") (binary_expression "puVar6 != (undefined4 *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n      iVar19 = iVar19 + 1;\n      iVar4 = *(int *)(iVar24 + 0x140);\n      *puVar6 = 0;\n      pcVar27 = *(code **)(puStack_98 + -0x7ea8);\n    }" ({ "{") (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar24 + 0x140)" (* "*") (cast_expression "(int *)(iVar24 + 0x140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ea8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ea8)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ea8)" (( "(") (binary_expression "puStack_98 + -0x7ea8" (identifier "puStack_98") (+ "+") (number_literal "-0x7ea8")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "pppiStack_84 = (int ***)&pppiStack_60;" (assignment_expression "pppiStack_84 = (int ***)&pppiStack_60" (identifier "pppiStack_84") (= "=") (cast_expression "(int ***)&pppiStack_60" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&pppiStack_60" (& "&") (identifier "pppiStack_60")))) (; ";")) (expression_statement "ppppiVar15 = (int ****)0x0;" (assignment_expression "ppppiVar15 = (int ****)0x0" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7be8))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7be8)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7be8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7be8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7be8)" (( "(") (binary_expression "puStack_98 + -0x7be8" (identifier "puStack_98") (+ "+") (number_literal "-0x7be8")) () ")"))))) () ")")) (argument_list "(uStack_90,0x9b,0,pppiStack_84)" (( "(") (identifier "uStack_90") (, ",") (number_literal "0x9b") (, ",") (number_literal "0") (, ",") (identifier "pppiStack_84") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);\n    iStack_70 = *(int *)(puStack_98 + -0x7fc8);\n    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);\n    iStack_6c = *(int *)(puStack_98 + -0x7fc8);\n    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);\n  }" ({ "{") (expression_statement "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);" (assignment_expression "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" (identifier "pppiStack_8c") (= "=") (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x3218)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x3218" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x3218")) () ")")))) (; ";")) (expression_statement "iStack_70 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iStack_70 = *(int *)(puStack_98 + -0x7fc8)" (identifier "iStack_70") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);" (assignment_expression "pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" (identifier "pcStack_78") (= "=") (cast_expression "(code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7c8c) + 0x6288)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7c8c) + 0x6288" (pointer_expression "*(int *)(puStack_98 + -0x7c8c)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7c8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7c8c)" (( "(") (binary_expression "puStack_98 + -0x7c8c" (identifier "puStack_98") (+ "+") (number_literal "-0x7c8c")) () ")")))) (+ "+") (number_literal "0x6288")) () ")")))) (; ";")) (expression_statement "iStack_6c = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iStack_6c = *(int *)(puStack_98 + -0x7fc8)" (identifier "iStack_6c") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" (assignment_expression "iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0" (identifier "iStack_80") (= "=") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x28a0"))) (; ";")) (do_statement "do {\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    } while (iVar4 != 0);" (do "do") (compound_statement "{\n      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;\n      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }\n      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);\n      ppppiVar20 = ppppiVar15;\n      if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }\n      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);\n      if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }\n      if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }\n      ppppiVar15 = (int ****)pppiStack_60;\n      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);\n    }" ({ "{") (expression_statement "pppiVar23 = (int ***)(int)*(char *)pppiStack_60;" (assignment_expression "pppiVar23 = (int ***)(int)*(char *)pppiStack_60" (identifier "pppiVar23") (= "=") (cast_expression "(int ***)(int)*(char *)pppiStack_60" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (cast_expression "(int)*(char *)pppiStack_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)pppiStack_60" (* "*") (cast_expression "(char *)pppiStack_60" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_60")))))) (; ";")) (if_statement "if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }\n      else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" (if "if") (parenthesized_expression "((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34))" (( "(") (binary_expression "(pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)" (parenthesized_expression "(pppiVar23 == (int ***)0x41)" (( "(") (binary_expression "pppiVar23 == (int ***)0x41" (identifier "pppiVar23") (== "==") (cast_expression "(int ***)0x41" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x41"))) () ")")) (|| "||") (parenthesized_expression "(((uint)pppiVar23 & 0xfffffffd) == 0x34)" (( "(") (binary_expression "((uint)pppiVar23 & 0xfffffffd) == 0x34" (parenthesized_expression "((uint)pppiVar23 & 0xfffffffd)" (( "(") (binary_expression "(uint)pppiVar23 & 0xfffffffd" (cast_expression "(uint)pppiVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppiVar23")) (& "&") (number_literal "0xfffffffd")) () ")")) (== "==") (number_literal "0x34")) () ")"))) () ")")) (compound_statement "{\n        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);\n        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);\n        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;\nLAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);\n      }" ({ "{") (expression_statement "unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);" (assignment_expression "unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1)" (identifier "unaff_s2") (= "=") (cast_expression "(int ***)(int)*(char *)((int)pppiStack_60 + 1)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (cast_expression "(int)*(char *)((int)pppiStack_60 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)((int)pppiStack_60 + 1)" (* "*") (cast_expression "(char *)((int)pppiStack_60 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiStack_60 + 1)" (( "(") (binary_expression "(int)pppiStack_60 + 1" (cast_expression "(int)pppiStack_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiStack_60")) (+ "+") (number_literal "1")) () ")"))))))) (; ";")) (expression_statement "ppppiVar15 = (int ****)((int)pppiStack_60 + 1);" (assignment_expression "ppppiVar15 = (int ****)((int)pppiStack_60 + 1)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)((int)pppiStack_60 + 1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppiStack_60 + 1)" (( "(") (binary_expression "(int)pppiStack_60 + 1" (cast_expression "(int)pppiStack_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiStack_60")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;" (if "if") (parenthesized_expression "(unaff_s2 != (int ***)0x4c)" (( "(") (binary_expression "unaff_s2 != (int ***)0x4c" (identifier "unaff_s2") (!= "!=") (cast_expression "(int ***)0x4c" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x4c"))) () ")")) (goto_statement "goto LAB_00048d5c;" (goto "goto") (statement_identifier "LAB_00048d5c") (; ";"))) (labeled_statement "LAB_00048e9c:\n        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);" (statement_identifier "LAB_00048e9c") (: ":") (expression_statement "ppppiVar15 = (int ****)((int)ppppiVar15 + 1);" (assignment_expression "ppppiVar15 = (int ****)((int)ppppiVar15 + 1)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)((int)ppppiVar15 + 1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppiVar15 + 1)" (( "(") (binary_expression "(int)ppppiVar15 + 1" (cast_expression "(int)ppppiVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar15")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (} "}")) (else_clause "else {\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" (else "else") (compound_statement "{\n        bVar1 = pppiVar23 == (int ***)0x4c;\n        ppppiVar15 = (int ****)pppiStack_60;\n        unaff_s2 = pppiVar23;\n        pppiVar23 = (int ***)0x41;\n        if (bVar1) goto LAB_00048e9c;\nLAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;\n        unaff_s2 = (int ***)0x4c;\n      }" ({ "{") (expression_statement "bVar1 = pppiVar23 == (int ***)0x4c;" (assignment_expression "bVar1 = pppiVar23 == (int ***)0x4c" (identifier "bVar1") (= "=") (binary_expression "pppiVar23 == (int ***)0x4c" (identifier "pppiVar23") (== "==") (cast_expression "(int ***)0x4c" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x4c")))) (; ";")) (expression_statement "ppppiVar15 = (int ****)pppiStack_60;" (assignment_expression "ppppiVar15 = (int ****)pppiStack_60" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)pppiStack_60" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppiStack_60"))) (; ";")) (expression_statement "unaff_s2 = pppiVar23;" (assignment_expression "unaff_s2 = pppiVar23" (identifier "unaff_s2") (= "=") (identifier "pppiVar23")) (; ";")) (expression_statement "pppiVar23 = (int ***)0x41;" (assignment_expression "pppiVar23 = (int ***)0x41" (identifier "pppiVar23") (= "=") (cast_expression "(int ***)0x41" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x41"))) (; ";")) (if_statement "if (bVar1) goto LAB_00048e9c;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_00048e9c;" (goto "goto") (statement_identifier "LAB_00048e9c") (; ";"))) (labeled_statement "LAB_00048d5c:\n        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;" (statement_identifier "LAB_00048d5c") (: ":") (if_statement "if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;" (if "if") (parenthesized_expression "(unaff_s2 == (int ***)0x52)" (( "(") (binary_expression "unaff_s2 == (int ***)0x52" (identifier "unaff_s2") (== "==") (cast_expression "(int ***)0x52" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x52"))) () ")")) (goto_statement "goto LAB_00048e9c;" (goto "goto") (statement_identifier "LAB_00048e9c") (; ";")))) (expression_statement "unaff_s2 = (int ***)0x4c;" (assignment_expression "unaff_s2 = (int ***)0x4c" (identifier "unaff_s2") (= "=") (cast_expression "(int ***)0x4c" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x4c"))) (; ";")) (} "}")))) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ed8))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7ed8)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7ed8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ed8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ed8)" (( "(") (binary_expression "puStack_98 + -0x7ed8" (identifier "puStack_98") (+ "+") (number_literal "-0x7ed8")) () ")"))))) () ")")) (argument_list "(ppppiVar15,0x3a)" (( "(") (identifier "ppppiVar15") (, ",") (number_literal "0x3a") () ")")))) (; ";")) (expression_statement "ppppiVar20 = ppppiVar15;" (assignment_expression "ppppiVar20 = ppppiVar15" (identifier "ppppiVar20") (= "=") (identifier "ppppiVar15")) (; ";")) (if_statement "if (iVar19 != 0) {\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        ppppiVar20 = (int ****)(iVar19 + 1);\n        uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);\n        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);\n        (**(code **)(puStack_98 + -0x7fa0))(uVar5);\n      }" ({ "{") (expression_statement "ppppiVar20 = (int ****)(iVar19 + 1);" (assignment_expression "ppppiVar20 = (int ****)(iVar19 + 1)" (identifier "ppppiVar20") (= "=") (cast_expression "(int ****)(iVar19 + 1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar19 + 1)" (( "(") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f6c)" (( "(") (binary_expression "puStack_98 + -0x7f6c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f6c")) () ")"))))) () ")")) (argument_list "(pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15)" (( "(") (identifier "pppiStack_8c") (, ",") (binary_expression "iVar19 - (int)ppppiVar15" (identifier "iVar19") (- "-") (cast_expression "(int)ppppiVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar15"))) (, ",") (identifier "ppppiVar15") () ")")))) (; ";")) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7b20))(uVar5)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7b20))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7b20)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7b20)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7b20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7b20)" (( "(") (binary_expression "puStack_98 + -0x7b20" (identifier "puStack_98") (+ "+") (number_literal "-0x7b20")) () ")"))))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(uVar5);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(uVar5)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);" (assignment_expression "iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7668))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7668)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7668)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7668)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7668)" (( "(") (binary_expression "puStack_98 + -0x7668" (identifier "puStack_98") (+ "+") (number_literal "-0x7668")) () ")"))))) () ")")) (argument_list "(ppppiVar20,0,10)" (( "(") (identifier "ppppiVar20") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }\n      else {\n        pcStack_88 = (code *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);\n        if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }\n      }" ({ "{") (expression_statement "iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);" (assignment_expression "iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(puStack_98 + -0x799c))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x799c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x799c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x799c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x799c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x799c)" (( "(") (binary_expression "puStack_98 + -0x799c" (identifier "puStack_98") (+ "+") (number_literal "-0x799c")) () ")"))))) () ")")) (argument_list "(ppppiVar20)" (( "(") (identifier "ppppiVar20") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }\n        else {\n          pcStack_88 = (code *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);\n          pcStack_88 = (code *)0x1;\n        }" ({ "{") (expression_statement "(*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);" (call_expression "(*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20)" (parenthesized_expression "(*pcStack_78)" (( "(") (pointer_expression "*pcStack_78" (* "*") (identifier "pcStack_78")) () ")")) (argument_list "(iVar24,iStack_70 + 0x4734,ppppiVar20)" (( "(") (identifier "iVar24") (, ",") (binary_expression "iStack_70 + 0x4734" (identifier "iStack_70") (+ "+") (number_literal "0x4734")) (, ",") (identifier "ppppiVar20") () ")"))) (; ";")) (expression_statement "pcStack_88 = (code *)0x1;" (assignment_expression "pcStack_88 = (code *)0x1" (identifier "pcStack_88") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n          pcStack_88 = (code *)0x1;\n        }" (else "else") (compound_statement "{\n          pcStack_88 = (code *)0x1;\n        }" ({ "{") (expression_statement "pcStack_88 = (code *)0x1;" (assignment_expression "pcStack_88 = (code *)0x1" (identifier "pcStack_88") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        pcStack_88 = (code *)0x0;\n      }" (else "else") (compound_statement "{\n        pcStack_88 = (code *)0x0;\n      }" ({ "{") (expression_statement "pcStack_88 = (code *)0x0;" (assignment_expression "pcStack_88 = (code *)0x0" (identifier "pcStack_88") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (if_statement "if ((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)) {\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }\n      else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" (if "if") (parenthesized_expression "((unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0))" (( "(") (binary_expression "(unaff_s2 == (int ***)0x4c) &&\n         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)" (parenthesized_expression "(unaff_s2 == (int ***)0x4c)" (( "(") (binary_expression "unaff_s2 == (int ***)0x4c" (identifier "unaff_s2") (== "==") (cast_expression "(int ***)0x4c" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x4c"))) () ")")) (&& "&&") (parenthesized_expression "(iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0)" (( "(") (comma_expression "iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)\n         , iVar8 == 0" (assignment_expression "iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7478))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7478)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7478)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7478)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7478)" (( "(") (binary_expression "puStack_98 + -0x7478" (identifier "puStack_98") (+ "+") (number_literal "-0x7478")) () ")"))))) () ")")) (argument_list "(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)" (( "(") (identifier "iVar4") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2e20" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x2e20")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }\n      }" ({ "{") (if_statement "if (iVar7 == 0) {\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }\n        else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar4 = 0;\n          iVar8 = iStack_7c;\nLAB_00048e64:\n          iStack_7c = iVar8;\n          (**(code **)(puStack_98 + -0x7fa0))(iVar19);\n          (**(code **)(puStack_98 + -0x7fa0))(iVar4);\n        }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" (identifier "iVar8") (= "=") (identifier "iStack_7c")) (; ";")) (labeled_statement "LAB_00048e64:\n          iStack_7c = iVar8;" (statement_identifier "LAB_00048e64") (: ":") (expression_statement "iStack_7c = iVar8;" (assignment_expression "iStack_7c = iVar8" (identifier "iStack_7c") (= "=") (identifier "iVar8")) (; ";"))) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(iVar19);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(iVar19)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(iVar4);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" (else "else") (compound_statement "{\n          iStack_7c = iVar8;\n          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n          piVar9[4] = iVar19;\n          piVar9[1] = 0x44;\n          pcVar27 = (code *)0xffffffff;\n          if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }\n          piVar9[6] = 0;\n          iVar4 = 0;\n          piVar9[2] = iVar7;\n          piVar9[5] = 0;\nLAB_00048c68:\n          piVar9[7] = iVar4;\n          piVar9[3] = (int)pcVar27;\n          piVar9[10] = 0;\n          piVar9[8] = 0;\n          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;\nLAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n          uVar5 = *(undefined4 *)(iVar24 + 0x140);\n          piVar9[9] = 1;\n          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n          if (piVar9 != piVar25) goto LAB_00048cac;\nLAB_00048f6c:\n          *piVar9 = 2;\n        }" ({ "{") (expression_statement "iStack_7c = iVar8;" (assignment_expression "iStack_7c = iVar8" (identifier "iStack_7c") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f68)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f68)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f68)" (( "(") (binary_expression "puStack_98 + -0x7f68" (identifier "puStack_98") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "(1,0x2c)" (( "(") (number_literal "1") (, ",") (number_literal "0x2c") () ")"))))) (; ";")) (expression_statement "piVar9[4] = iVar19;" (assignment_expression "piVar9[4] = iVar19" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar9[1] = 0x44;" (assignment_expression "piVar9[1] = 0x44" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x44")) (; ";")) (expression_statement "pcVar27 = (code *)0xffffffff;" (assignment_expression "pcVar27 = (code *)0xffffffff" (identifier "pcVar27") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (pcStack_88 != (code *)0x0) {\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }" (if "if") (parenthesized_expression "(pcStack_88 != (code *)0x0)" (( "(") (binary_expression "pcStack_88 != (code *)0x0" (identifier "pcStack_88") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar4 = 0;\n            pcVar21 = (char *)0x0;\nLAB_00049780:\n            pcStack_88 = (code *)iStack_7c;\n            iStack_7c = (int)pcVar27;\n            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);\n            piVar9[6] = iVar19;\n            piVar9[2] = iVar7;\n            piVar9[5] = iVar4;\n            pcVar28 = pcStack_88;\n            pcVar27 = (code *)iStack_7c;\n            pcVar2 = pcStack_88;\n            goto joined_r0x000497a8;\n          }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar21 = (char *)0x0;" (assignment_expression "pcVar21 = (char *)0x0" (identifier "pcVar21") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00049780:\n            pcStack_88 = (code *)iStack_7c;" (statement_identifier "LAB_00049780") (: ":") (expression_statement "pcStack_88 = (code *)iStack_7c;" (assignment_expression "pcStack_88 = (code *)iStack_7c" (identifier "pcStack_88") (= "=") (cast_expression "(code *)iStack_7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iStack_7c"))) (; ";"))) (expression_statement "iStack_7c = (int)pcVar27;" (assignment_expression "iStack_7c = (int)pcVar27" (identifier "iStack_7c") (= "=") (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);" (assignment_expression "iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7f60))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f60)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f60)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f60)" (( "(") (binary_expression "puStack_98 + -0x7f60" (identifier "puStack_98") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "(ppppiVar20)" (( "(") (identifier "ppppiVar20") () ")")))) (; ";")) (expression_statement "piVar9[6] = iVar19;" (assignment_expression "piVar9[6] = iVar19" (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "piVar9[5] = iVar4;" (assignment_expression "piVar9[5] = iVar4" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pcVar28 = pcStack_88;" (assignment_expression "pcVar28 = pcStack_88" (identifier "pcVar28") (= "=") (identifier "pcStack_88")) (; ";")) (expression_statement "pcVar27 = (code *)iStack_7c;" (assignment_expression "pcVar27 = (code *)iStack_7c" (identifier "pcVar27") (= "=") (cast_expression "(code *)iStack_7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iStack_7c"))) (; ";")) (expression_statement "pcVar2 = pcStack_88;" (assignment_expression "pcVar2 = pcStack_88" (identifier "pcVar2") (= "=") (identifier "pcStack_88")) (; ";")) (goto_statement "goto joined_r0x000497a8;" (goto "goto") (statement_identifier "joined_r0x000497a8") (; ";")) (} "}"))) (expression_statement "piVar9[6] = 0;" (assignment_expression "piVar9[6] = 0" (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00048c68:\n          piVar9[7] = iVar4;" (statement_identifier "LAB_00048c68") (: ":") (expression_statement "piVar9[7] = iVar4;" (assignment_expression "piVar9[7] = iVar4" (subscript_expression "piVar9[7]" (identifier "piVar9") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar4")) (; ";"))) (expression_statement "piVar9[3] = (int)pcVar27;" (assignment_expression "piVar9[3] = (int)pcVar27" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27"))) (; ";")) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" (identifier "piVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;" (if "if") (parenthesized_expression "(pppiVar23 != (int ***)0x34)" (( "(") (binary_expression "pppiVar23 != (int ***)0x34" (identifier "pppiVar23") (!= "!=") (cast_expression "(int ***)0x34" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x34"))) () ")")) (goto_statement "goto LAB_00048c80;" (goto "goto") (statement_identifier "LAB_00048c80") (; ";"))) (labeled_statement "LAB_00048f4c:\n          pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (statement_identifier "LAB_00048f4c") (: ":") (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ebc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ebc)" (( "(") (binary_expression "puStack_98 + -0x7ebc" (identifier "puStack_98") (+ "+") (number_literal "-0x7ebc")) () ")"))))) (; ";"))) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x140);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x140)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x140)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "piVar9[9] = 1;" (assignment_expression "piVar9[9] = 1" (subscript_expression "piVar9[9]" (identifier "piVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar25 = (int *)(*pcVar27)(uVar5,piVar9);" (assignment_expression "piVar25 = (int *)(*pcVar27)(uVar5,piVar9)" (identifier "piVar25") (= "=") (cast_expression "(int *)(*pcVar27)(uVar5,piVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar27)(uVar5,piVar9)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(uVar5,piVar9)" (( "(") (identifier "uVar5") (, ",") (identifier "piVar9") () ")"))))) (; ";")) (if_statement "if (piVar9 != piVar25) goto LAB_00048cac;" (if "if") (parenthesized_expression "(piVar9 != piVar25)" (( "(") (binary_expression "piVar9 != piVar25" (identifier "piVar9") (!= "!=") (identifier "piVar25")) () ")")) (goto_statement "goto LAB_00048cac;" (goto "goto") (statement_identifier "LAB_00048cac") (; ";"))) (labeled_statement "LAB_00048f6c:\n          *piVar9 = 2;" (statement_identifier "LAB_00048f6c") (: ":") (expression_statement "*piVar9 = 2;" (assignment_expression "*piVar9 = 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (number_literal "2")) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" (else "else") (compound_statement "{\n        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);\n        pcVar21 = (char *)(iVar4 + iVar8);\n        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);\n        if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }\n        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);\n        if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }\n        iStack_7c = iVar16;\n        if (iVar7 == 0) goto LAB_00048e64;\n        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);\n        piVar9[1] = (int)unaff_s2;\n        piVar9[4] = iVar19;\n        if (pcStack_88 != (code *)0x0) goto LAB_00049780;\n        piVar9[2] = iVar7;\n        piVar9[5] = iVar4;\n        piVar9[6] = 0;\n        pcVar28 = (code *)0x0;\n        pcVar2 = (code *)iStack_7c;\njoined_r0x000497a8:\n        pcStack_88 = pcVar27;\n        if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }\n        piVar9[3] = (int)pcStack_88;\n        piVar9[10] = 0;\n        piVar9[7] = 0;\n        piVar9[8] = 0;\n        pcStack_88 = pcVar28;\n        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;\nLAB_00048c80:\n        iVar4 = 2;\n        pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n        uVar5 = *(undefined4 *)(iVar24 + 0x140);\n        if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }\n        piVar9[9] = iVar4;\n        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);\n        if (piVar9 == piVar25) goto LAB_00048f6c;\nLAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);\n        if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }\n        (*pcVar27)(piVar9[4]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n        (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n      }" ({ "{") (expression_statement "iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);" (assignment_expression "iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7d50))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7d50)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7d50)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7d50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7d50)" (( "(") (binary_expression "puStack_98 + -0x7d50" (identifier "puStack_98") (+ "+") (number_literal "-0x7d50")) () ")"))))) () ")")) (argument_list "(iVar4,iStack_80)" (( "(") (identifier "iVar4") (, ",") (identifier "iStack_80") () ")")))) (; ";")) (expression_statement "pcVar21 = (char *)(iVar4 + iVar8);" (assignment_expression "pcVar21 = (char *)(iVar4 + iVar8)" (identifier "pcVar21") (= "=") (cast_expression "(char *)(iVar4 + iVar8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar8)" (( "(") (binary_expression "iVar4 + iVar8" (identifier "iVar4") (+ "+") (identifier "iVar8")) () ")")))) (; ";")) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f6c)" (( "(") (binary_expression "puStack_98 + -0x7f6c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f6c")) () ")"))))) () ")")) (argument_list "(pppiStack_8c,iVar8,iVar4)" (( "(") (identifier "pppiStack_8c") (, ",") (identifier "iVar8") (, ",") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if (*pcVar21 != '\0') {\n          pcVar21 = pcVar21 + 1;\n        }" (if "if") (parenthesized_expression "(*pcVar21 != '\0')" (( "(") (binary_expression "*pcVar21 != '\0'" (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pcVar21 = pcVar21 + 1;\n        }" ({ "{") (expression_statement "pcVar21 = pcVar21 + 1;" (assignment_expression "pcVar21 = pcVar21 + 1" (identifier "pcVar21") (= "=") (binary_expression "pcVar21 + 1" (identifier "pcVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);" (assignment_expression "pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7668))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7668)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7668)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7668)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7668)" (( "(") (binary_expression "puStack_98 + -0x7668" (identifier "puStack_98") (+ "+") (number_literal "-0x7668")) () ")"))))) () ")")) (argument_list "(pcVar21,0,10)" (( "(") (identifier "pcVar21") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")"))))) (; ";")) (if_statement "if (pcVar27 == (code *)0x0) {\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }\n        else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" (if "if") (parenthesized_expression "(pcVar27 == (code *)0x0)" (( "(") (binary_expression "pcVar27 == (code *)0x0" (identifier "pcVar27") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);\n          if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }\n          iVar16 = 1;\n          iVar8 = iStack_7c;\n        }" ({ "{") (expression_statement "pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);" (assignment_expression "pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(**(code **)(puStack_98 + -0x799c))(pcVar21)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_98 + -0x799c))(pcVar21)" (parenthesized_expression "(**(code **)(puStack_98 + -0x799c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x799c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x799c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x799c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x799c)" (( "(") (binary_expression "puStack_98 + -0x799c" (identifier "puStack_98") (+ "+") (number_literal "-0x799c")) () ")"))))) () ")")) (argument_list "(pcVar21)" (( "(") (identifier "pcVar21") () ")"))))) (; ";")) (if_statement "if (pcVar27 == (code *)0x0) {\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }" (if "if") (parenthesized_expression "(pcVar27 == (code *)0x0)" (( "(") (binary_expression "pcVar27 == (code *)0x0" (identifier "pcVar27") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);\n            iVar8 = iStack_7c;\n            goto LAB_00048e64;\n          }" ({ "{") (expression_statement "(*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);" (call_expression "(*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21)" (parenthesized_expression "(*pcStack_78)" (( "(") (pointer_expression "*pcStack_78" (* "*") (identifier "pcStack_78")) () ")")) (argument_list "(iVar24,iStack_6c + 0x4760,pcVar21)" (( "(") (identifier "iVar24") (, ",") (binary_expression "iStack_6c + 0x4760" (identifier "iStack_6c") (+ "+") (number_literal "0x4760")) (, ",") (identifier "pcVar21") () ")"))) (; ";")) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" (identifier "iVar8") (= "=") (identifier "iStack_7c")) (; ";")) (goto_statement "goto LAB_00048e64;" (goto "goto") (statement_identifier "LAB_00048e64") (; ";")) (} "}"))) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" (identifier "iVar8") (= "=") (identifier "iStack_7c")) (; ";")) (} "}")) (else_clause "else {\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" (else "else") (compound_statement "{\n          iVar16 = 0;\n          iVar8 = iStack_7c;\n        }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = iStack_7c;" (assignment_expression "iVar8 = iStack_7c" (identifier "iVar8") (= "=") (identifier "iStack_7c")) (; ";")) (} "}")))) (expression_statement "iStack_7c = iVar16;" (assignment_expression "iStack_7c = iVar16" (identifier "iStack_7c") (= "=") (identifier "iVar16")) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00048e64;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00048e64;" (goto "goto") (statement_identifier "LAB_00048e64") (; ";"))) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x2c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f68)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f68)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f68)" (( "(") (binary_expression "puStack_98 + -0x7f68" (identifier "puStack_98") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "(1,0x2c)" (( "(") (number_literal "1") (, ",") (number_literal "0x2c") () ")"))))) (; ";")) (expression_statement "piVar9[1] = (int)unaff_s2;" (assignment_expression "piVar9[1] = (int)unaff_s2" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2"))) (; ";")) (expression_statement "piVar9[4] = iVar19;" (assignment_expression "piVar9[4] = iVar19" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (pcStack_88 != (code *)0x0) goto LAB_00049780;" (if "if") (parenthesized_expression "(pcStack_88 != (code *)0x0)" (( "(") (binary_expression "pcStack_88 != (code *)0x0" (identifier "pcStack_88") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00049780;" (goto "goto") (statement_identifier "LAB_00049780") (; ";"))) (expression_statement "piVar9[2] = iVar7;" (assignment_expression "piVar9[2] = iVar7" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "piVar9[5] = iVar4;" (assignment_expression "piVar9[5] = iVar4" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar9[6] = 0;" (assignment_expression "piVar9[6] = 0" (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar28 = (code *)0x0;" (assignment_expression "pcVar28 = (code *)0x0" (identifier "pcVar28") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar2 = (code *)iStack_7c;" (assignment_expression "pcVar2 = (code *)iStack_7c" (identifier "pcVar2") (= "=") (cast_expression "(code *)iStack_7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iStack_7c"))) (; ";")) (labeled_statement "joined_r0x000497a8:\n        pcStack_88 = pcVar27;" (statement_identifier "joined_r0x000497a8") (: ":") (expression_statement "pcStack_88 = pcVar27;" (assignment_expression "pcStack_88 = pcVar27" (identifier "pcStack_88") (= "=") (identifier "pcVar27")) (; ";"))) (if_statement "if (pcVar2 != (code *)0x0) {\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }" (if "if") (parenthesized_expression "(pcVar2 != (code *)0x0)" (( "(") (binary_expression "pcVar2 != (code *)0x0" (identifier "pcVar2") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);\n          pcVar27 = pcStack_88;\n          goto LAB_00048c68;\n        }" ({ "{") (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7f60))(pcVar21)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f60)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f60)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f60)" (( "(") (binary_expression "puStack_98 + -0x7f60" (identifier "puStack_98") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "(pcVar21)" (( "(") (identifier "pcVar21") () ")")))) (; ";")) (expression_statement "pcVar27 = pcStack_88;" (assignment_expression "pcVar27 = pcStack_88" (identifier "pcVar27") (= "=") (identifier "pcStack_88")) (; ";")) (goto_statement "goto LAB_00048c68;" (goto "goto") (statement_identifier "LAB_00048c68") (; ";")) (} "}"))) (expression_statement "piVar9[3] = (int)pcStack_88;" (assignment_expression "piVar9[3] = (int)pcStack_88" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)pcStack_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_88"))) (; ";")) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[7] = 0;" (assignment_expression "piVar9[7] = 0" (subscript_expression "piVar9[7]" (identifier "piVar9") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" (identifier "piVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcStack_88 = pcVar28;" (assignment_expression "pcStack_88 = pcVar28" (identifier "pcStack_88") (= "=") (identifier "pcVar28")) (; ";")) (if_statement "if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;" (if "if") (parenthesized_expression "(pppiVar23 == (int ***)0x34)" (( "(") (binary_expression "pppiVar23 == (int ***)0x34" (identifier "pppiVar23") (== "==") (cast_expression "(int ***)0x34" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x34"))) () ")")) (goto_statement "goto LAB_00048f4c;" (goto "goto") (statement_identifier "LAB_00048f4c") (; ";"))) (labeled_statement "LAB_00048c80:\n        iVar4 = 2;" (statement_identifier "LAB_00048c80") (: ":") (expression_statement "iVar4 = 2;" (assignment_expression "iVar4 = 2" (identifier "iVar4") (= "=") (number_literal "2")) (; ";"))) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ebc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ebc)" (( "(") (binary_expression "puStack_98 + -0x7ebc" (identifier "puStack_98") (+ "+") (number_literal "-0x7ebc")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x140);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x140)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x140)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (if_statement "if (pppiVar23 != (int ***)0x36) {\n          iVar4 = 0;\n        }" (if "if") (parenthesized_expression "(pppiVar23 != (int ***)0x36)" (( "(") (binary_expression "pppiVar23 != (int ***)0x36" (identifier "pppiVar23") (!= "!=") (cast_expression "(int ***)0x36" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x36"))) () ")")) (compound_statement "{\n          iVar4 = 0;\n        }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "piVar9[9] = iVar4;" (assignment_expression "piVar9[9] = iVar4" (subscript_expression "piVar9[9]" (identifier "piVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar25 = (int *)(*pcVar27)(uVar5,piVar9);" (assignment_expression "piVar25 = (int *)(*pcVar27)(uVar5,piVar9)" (identifier "piVar25") (= "=") (cast_expression "(int *)(*pcVar27)(uVar5,piVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar27)(uVar5,piVar9)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(uVar5,piVar9)" (( "(") (identifier "uVar5") (, ",") (identifier "piVar9") () ")"))))) (; ";")) (if_statement "if (piVar9 == piVar25) goto LAB_00048f6c;" (if "if") (parenthesized_expression "(piVar9 == piVar25)" (( "(") (binary_expression "piVar9 == piVar25" (identifier "piVar9") (== "==") (identifier "piVar25")) () ")")) (goto_statement "goto LAB_00048f6c;" (goto "goto") (statement_identifier "LAB_00048f6c") (; ";"))) (labeled_statement "LAB_00048cac:\n        pcVar27 = *(code **)(puStack_98 + -0x7fa0);" (statement_identifier "LAB_00048cac") (: ":") (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7fa0);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7fa0)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) (; ";"))) (if_statement "if (*piVar25 == 0) {\n          *piVar25 = 1;\n        }" (if "if") (parenthesized_expression "(*piVar25 == 0)" (( "(") (binary_expression "*piVar25 == 0" (pointer_expression "*piVar25" (* "*") (identifier "piVar25")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *piVar25 = 1;\n        }" ({ "{") (expression_statement "*piVar25 = 1;" (assignment_expression "*piVar25 = 1" (pointer_expression "*piVar25" (* "*") (identifier "piVar25")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "(*pcVar27)(piVar9[4]);" (call_expression "(*pcVar27)(piVar9[4])" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(piVar9[4])" (( "(") (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9[5])" (( "(") (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9[6])" (( "(") (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9[7])" (( "(") (subscript_expression "piVar9[7]" (identifier "piVar9") ([ "[") (number_literal "7") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")"))) (; ";")) (} "}")))) (expression_statement "ppppiVar15 = (int ****)pppiStack_60;" (assignment_expression "ppppiVar15 = (int ****)pppiStack_60" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)pppiStack_60" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppiStack_60"))) (; ";")) (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7be8))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7be8)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7be8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7be8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7be8)" (( "(") (binary_expression "puStack_98 + -0x7be8" (identifier "puStack_98") (+ "+") (number_literal "-0x7be8")) () ")"))))) () ")")) (argument_list "(uStack_90,0x9b,pppiStack_60,pppiStack_84)" (( "(") (identifier "uStack_90") (, ",") (number_literal "0x9b") (, ",") (identifier "pppiStack_60") (, ",") (identifier "pppiStack_84") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(puStack_98 + -0x7fc8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);" (assignment_expression "pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" (identifier "pppiStack_8c") (= "=") (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7b0c) + -0x63f8)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x63f8" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7b0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7b0c)" (( "(") (binary_expression "puStack_98 + -0x7b0c" (identifier "puStack_98") (+ "+") (number_literal "-0x7b0c")) () ")")))) (+ "+") (number_literal "-0x63f8")) () ")")))) (; ";")) (expression_statement "iVar19 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar19 = *(int *)(puStack_98 + -0x7fc8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);" (assignment_expression "pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" (identifier "pcStack_88") (= "=") (cast_expression "(code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7b0c) + -0x5a14)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x5a14" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7b0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7b0c)" (( "(") (binary_expression "puStack_98 + -0x7b0c" (identifier "puStack_98") (+ "+") (number_literal "-0x7b0c")) () ")")))) (+ "+") (number_literal "-0x5a14")) () ")")))) (; ";")) (do_statement "do {\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  } while( true );" (do "do") (compound_statement "{\n    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }\n    if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }\n    pppiStack_b0 = (int ***)piVar9[2];\n    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);\n    ppppiVar20 = ppppiVar15;\n    if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }\n    ppppiVar15 = ppppiVar20;\n    FUN_00036288(iVar24,iVar19 + 0x47bc);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n    iVar8 = piVar9[8];\n    if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }\n    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);\n    (**(code **)(puStack_98 + -0x7fa0))(piVar9);\n  }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ea8)" (( "(") (binary_expression "puStack_98 + -0x7ea8" (identifier "puStack_98") (+ "+") (number_literal "-0x7ea8")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x140)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")")))) (, ",") (identifier "iVar4") () ")"))))) (; ";")) (while_statement "while( true ) {\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }\n      if (*piVar9 == 0) break;\n      iVar4 = iVar4 + 1;\n      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);\n    }" ({ "{") (if_statement "if (piVar9 == (int *)0x0) {\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }" (if "if") (parenthesized_expression "(piVar9 == (int *)0x0)" (( "(") (binary_expression "piVar9 == (int *)0x0" (identifier "piVar9") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);\n        pppiVar23 = (int ***)0x0;\n        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);\n        pppiVar13 = (int ***)0x0;\n        iVar4 = *(int *)(iVar24 + 0x140);\n        iVar7 = *(int *)(puStack_98 + -0x7fc8);\n        iVar19 = *(int *)(puStack_98 + -0x7fc8);\n        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);\n        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();\n        ppppiVar11 = (int ****)0x0;\n        goto joined_r0x0004902c;\n      }" ({ "{") (expression_statement "pcStack_88 = *(code **)(puStack_98 + -0x7fc8);" (assignment_expression "pcStack_88 = *(code **)(puStack_98 + -0x7fc8)" (identifier "pcStack_88") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "pppiVar23 = (int ***)0x0;" (assignment_expression "pppiVar23 = (int ***)0x0" (identifier "pppiVar23") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);" (assignment_expression "ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c)" (identifier "ppppiVar20") (= "=") (pointer_expression "*(int *****)(puStack_98 + -0x7c8c)" (* "*") (cast_expression "(int *****)(puStack_98 + -0x7c8c)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puStack_98 + -0x7c8c)" (( "(") (binary_expression "puStack_98 + -0x7c8c" (identifier "puStack_98") (+ "+") (number_literal "-0x7c8c")) () ")"))))) (; ";")) (expression_statement "pppiVar13 = (int ***)0x0;" (assignment_expression "pppiVar13 = (int ***)0x0" (identifier "pppiVar13") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar24 + 0x140)" (* "*") (cast_expression "(int *)(iVar24 + 0x140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar7 = *(int *)(puStack_98 + -0x7fc8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar19 = *(int *)(puStack_98 + -0x7fc8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);" (assignment_expression "pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2)" (identifier "pppiStack_8c") (= "=") (cast_expression "(int ***)(ppppiVar20 + 0x18a2)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(ppppiVar20 + 0x18a2)" (( "(") (binary_expression "ppppiVar20 + 0x18a2" (identifier "ppppiVar20") (+ "+") (number_literal "0x18a2")) () ")")))) (; ";")) (expression_statement "ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);" (assignment_expression "ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" (identifier "ppppiVar22") (= "=") (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x2d54")) () ")")))) (; ";")) (expression_statement "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();" (assignment_expression "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))()" (identifier "pppiVar10") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7ea8))()" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7ea8))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ea8)" (( "(") (binary_expression "puStack_98 + -0x7ea8" (identifier "puStack_98") (+ "+") (number_literal "-0x7ea8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppiVar11 = (int ****)0x0;" (assignment_expression "ppppiVar11 = (int ****)0x0" (identifier "ppppiVar11") (= "=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto joined_r0x0004902c;" (goto "goto") (statement_identifier "joined_r0x0004902c") (; ";")) (} "}"))) (if_statement "if (*piVar9 == 0) break;" (if "if") (parenthesized_expression "(*piVar9 == 0)" (( "(") (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ea8)" (( "(") (binary_expression "puStack_98 + -0x7ea8" (identifier "puStack_98") (+ "+") (number_literal "-0x7ea8")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x140)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")")))) (, ",") (identifier "iVar4") () ")"))))) (; ";")) (} "}"))) (if_statement "if (piVar9[1] == 0x4c) {\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }\n    else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" (if "if") (parenthesized_expression "(piVar9[1] == 0x4c)" (( "(") (binary_expression "piVar9[1] == 0x4c" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x4c")) () ")")) (compound_statement "{\n      iVar16 = piVar9[4];\n      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;\n      if (iVar16 == 0) goto LAB_0004942c;\nLAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;\n    }" ({ "{") (expression_statement "iVar16 = piVar9[4];" (assignment_expression "iVar16 = piVar9[4]" (identifier "iVar16") (= "=") (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708" (identifier "iVar8") (= "=") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4708" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4708"))) (; ";")) (if_statement "if (iVar16 == 0) goto LAB_0004942c;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004942c;" (goto "goto") (statement_identifier "LAB_0004942c") (; ";"))) (labeled_statement "LAB_00049258:\n      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" (statement_identifier "LAB_00049258") (: ":") (expression_statement "iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;" (assignment_expression "iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0" (identifier "iVar18") (= "=") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x28a0"))) (; ";"))) (} "}")) (else_clause "else {\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" (else "else") (compound_statement "{\n      if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }\n      iVar16 = piVar9[4];\n      if (iVar16 != 0) goto LAB_00049258;\nLAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;\n      iVar18 = iVar16;\n    }" ({ "{") (if_statement "if (piVar9[1] == 0x52) {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }\n      else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" (if "if") (parenthesized_expression "(piVar9[1] == 0x52)" (( "(") (binary_expression "piVar9[1] == 0x52" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x52")) () ")")) (compound_statement "{\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;\n      }" ({ "{") (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710" (identifier "iVar8") (= "=") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4710" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4710"))) (; ";")) (} "}")) (else_clause "else {\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" (else "else") (compound_statement "{\n        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;\n      }" ({ "{") (expression_statement "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;" (assignment_expression "iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718" (identifier "iVar8") (= "=") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4718" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4718"))) (; ";")) (} "}")))) (expression_statement "iVar16 = piVar9[4];" (assignment_expression "iVar16 = piVar9[4]" (identifier "iVar16") (= "=") (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (iVar16 != 0) goto LAB_00049258;" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00049258;" (goto "goto") (statement_identifier "LAB_00049258") (; ";"))) (labeled_statement "LAB_0004942c:\n      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;" (statement_identifier "LAB_0004942c") (: ":") (expression_statement "iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;" (assignment_expression "iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54" (identifier "iVar16") (= "=") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x2d54"))) (; ";"))) (expression_statement "iVar18 = iVar16;" (assignment_expression "iVar18 = iVar16" (identifier "iVar18") (= "=") (identifier "iVar16")) (; ";")) (} "}")))) (expression_statement "pppiStack_b0 = (int ***)piVar9[2];" (assignment_expression "pppiStack_b0 = (int ***)piVar9[2]" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)piVar9[2]" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);" (assignment_expression "ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f6c)" (( "(") (binary_expression "puStack_98 + -0x7f6c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f6c")) () ")"))))) () ")")) (argument_list "(iVar7 + 0x4790,iVar8,iVar16,iVar18)" (( "(") (binary_expression "iVar7 + 0x4790" (identifier "iVar7") (+ "+") (number_literal "0x4790")) (, ",") (identifier "iVar8") (, ",") (identifier "iVar16") (, ",") (identifier "iVar18") () ")"))))) (; ";")) (expression_statement "ppppiVar20 = ppppiVar15;" (assignment_expression "ppppiVar20 = ppppiVar15" (identifier "ppppiVar20") (= "=") (identifier "ppppiVar15")) (; ";")) (if_statement "if (piVar9[1] != 0x44) {\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }" (if "if") (parenthesized_expression "(piVar9[1] != 0x44)" (( "(") (binary_expression "piVar9[1] != 0x44" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x44")) () ")")) (compound_statement "{\n      ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );\n      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);\n    }" ({ "{") (expression_statement "ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             );" (assignment_expression "ppppiVar20 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" (identifier "ppppiVar20") (= "=") (cast_expression "(int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f6c)" (( "(") (binary_expression "puStack_98 + -0x7f6c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f6c")) () ")"))))) () ")")) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]\n                             )" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47b0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x47b0")) (, ",") (identifier "ppppiVar15") (, ",") (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (, ",") (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) () ")"))))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar15)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(ppppiVar15)" (( "(") (identifier "ppppiVar15") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppiVar15 = ppppiVar20;" (assignment_expression "ppppiVar15 = ppppiVar20" (identifier "ppppiVar15") (= "=") (identifier "ppppiVar20")) (; ";")) (expression_statement "FUN_00036288(iVar24,iVar19 + 0x47bc);" (call_expression "FUN_00036288(iVar24,iVar19 + 0x47bc)" (identifier "FUN_00036288") (argument_list "(iVar24,iVar19 + 0x47bc)" (( "(") (identifier "iVar24") (, ",") (binary_expression "iVar19 + 0x47bc" (identifier "iVar19") (+ "+") (number_literal "0x47bc")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(ppppiVar20)" (( "(") (identifier "ppppiVar20") () ")"))) (; ";")) (expression_statement "iVar8 = piVar9[8];" (assignment_expression "iVar8 = piVar9[8]" (identifier "iVar8") (= "=") (subscript_expression "piVar9[8]" (identifier "piVar9") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (iVar8 == 0) {\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }\n    else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }\n    }" ({ "{") (if_statement "if (piVar9[10] != 0) {\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }" (if "if") (parenthesized_expression "(piVar9[10] != 0)" (( "(") (binary_expression "piVar9[10] != 0" (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puStack_98 + -0x7dcc))();\n      }" ({ "{") (expression_statement "(**(code **)(puStack_98 + -0x7dcc))();" (call_expression "(**(code **)(puStack_98 + -0x7dcc))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7dcc))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7dcc)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7dcc)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7dcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7dcc)" (( "(") (binary_expression "puStack_98 + -0x7dcc" (identifier "puStack_98") (+ "+") (number_literal "-0x7dcc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" (else "else") (compound_statement "{\n      pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }\n      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);\n      (*(code *)pppiStack_8c)(iVar8);\n    }" ({ "{") (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7eb8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7eb8)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7eb8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7eb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7eb8)" (( "(") (binary_expression "puStack_98 + -0x7eb8" (identifier "puStack_98") (+ "+") (number_literal "-0x7eb8")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar24 + 0x198) != 1) {\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar24 + 0x198) != 1)" (( "(") (binary_expression "*(int *)(iVar24 + 0x198) != 1" (pointer_expression "*(int *)(iVar24 + 0x198)" (* "*") (cast_expression "(int *)(iVar24 + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x198)" (( "(") (binary_expression "iVar24 + 0x198" (identifier "iVar24") (+ "+") (number_literal "0x198")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n        unaff_s2 = (int ***)(*pcStack_88)(0x50);\n        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);\n        ppppiVar15 = (int ****)0x1;\n        uStack_61 = 0;\n        FUN_0003a494(unaff_s2,&uStack_61);\n        if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }\n        FUN_0003a76c(unaff_s2,piVar9[2]);\n        FUN_00045998(iVar24,unaff_s2);\n        pcVar27 = *(code **)(puStack_98 + -0x7eb8);\n      }" ({ "{") (expression_statement "unaff_s2 = (int ***)(*pcStack_88)(0x50);" (assignment_expression "unaff_s2 = (int ***)(*pcStack_88)(0x50)" (identifier "unaff_s2") (= "=") (cast_expression "(int ***)(*pcStack_88)(0x50)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(*pcStack_88)(0x50)" (parenthesized_expression "(*pcStack_88)" (( "(") (pointer_expression "*pcStack_88" (* "*") (identifier "pcStack_88")) () ")")) (argument_list "(0x50)" (( "(") (number_literal "0x50") () ")"))))) (; ";")) (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc)" (identifier "FUN_0003a7dc") (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc)" (( "(") (identifier "unaff_s2") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47cc" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x47cc")) () ")"))) (; ";")) (expression_statement "ppppiVar15 = (int ****)0x1;" (assignment_expression "ppppiVar15 = (int ****)0x1" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)0x1" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uStack_61 = 0;" (assignment_expression "uStack_61 = 0" (identifier "uStack_61") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003a494(unaff_s2,&uStack_61);" (call_expression "FUN_0003a494(unaff_s2,&uStack_61)" (identifier "FUN_0003a494") (argument_list "(unaff_s2,&uStack_61)" (( "(") (identifier "unaff_s2") (, ",") (pointer_expression "&uStack_61" (& "&") (identifier "uStack_61")) () ")"))) (; ";")) (if_statement "if (piVar9[4] == 0) {\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }\n        else {\n          FUN_0003a7dc(unaff_s2);\n        }" (if "if") (parenthesized_expression "(piVar9[4] == 0)" (( "(") (binary_expression "piVar9[4] == 0" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n          if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }\n        }" ({ "{") (expression_statement "iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);" (assignment_expression "iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f3c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f3c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f3c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f3c)" (( "(") (binary_expression "puStack_98 + -0x7f3c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f3c")) () ")"))))) () ")")) (argument_list "(uStack_90,0x9a)" (( "(") (identifier "uStack_90") (, ",") (number_literal "0x9a") () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }\n          else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          }" ({ "{") (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (identifier "FUN_0003a7dc") (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (( "(") (identifier "unaff_s2") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47e4" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x47e4")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" (else "else") (compound_statement "{\n            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);\n          }" ({ "{") (expression_statement "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);" (call_expression "FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" (identifier "FUN_0003a7dc") (argument_list "(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54)" (( "(") (identifier "unaff_s2") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x2d54" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x2d54")) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          FUN_0003a7dc(unaff_s2);\n        }" (else "else") (compound_statement "{\n          FUN_0003a7dc(unaff_s2);\n        }" ({ "{") (expression_statement "FUN_0003a7dc(unaff_s2);" (call_expression "FUN_0003a7dc(unaff_s2)" (identifier "FUN_0003a7dc") (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_0003a76c(unaff_s2,piVar9[2]);" (call_expression "FUN_0003a76c(unaff_s2,piVar9[2])" (identifier "FUN_0003a76c") (argument_list "(unaff_s2,piVar9[2])" (( "(") (identifier "unaff_s2") (, ",") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_00045998(iVar24,unaff_s2);" (call_expression "FUN_00045998(iVar24,unaff_s2)" (identifier "FUN_00045998") (argument_list "(iVar24,unaff_s2)" (( "(") (identifier "iVar24") (, ",") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7eb8);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7eb8)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7eb8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7eb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7eb8)" (( "(") (binary_expression "puStack_98 + -0x7eb8" (identifier "puStack_98") (+ "+") (number_literal "-0x7eb8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "(*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);" (call_expression "(*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x13c),iVar8)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x13c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x13c)" (( "(") (binary_expression "iVar24 + 0x13c" (identifier "iVar24") (+ "+") (number_literal "0x13c")) () ")")))) (, ",") (identifier "iVar8") () ")"))) (; ";")) (expression_statement "(*(code *)pppiStack_8c)(iVar8);" (call_expression "(*(code *)pppiStack_8c)(iVar8)" (parenthesized_expression "(*(code *)pppiStack_8c)" (( "(") (pointer_expression "*(code *)pppiStack_8c" (* "*") (cast_expression "(code *)pppiStack_8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_8c"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))) (; ";")) (} "}")))) (expression_statement "(**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);" (call_expression "(**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ec0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7ec0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7ec0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ec0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ec0)" (( "(") (binary_expression "puStack_98 + -0x7ec0" (identifier "puStack_98") (+ "+") (number_literal "-0x7ec0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x140),iVar4)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x140)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x140)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")")))) (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[4])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9[4])" (( "(") (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[5])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9[5])" (( "(") (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[6])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9[6])" (( "(") (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9[7])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9[7])" (( "(") (subscript_expression "piVar9[7]" (identifier "piVar9") ([ "[") (number_literal "7") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(piVar9);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(piVar9)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (labeled_statement "joined_r0x0004902c:\n  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;" (statement_identifier "joined_r0x0004902c") (: ":") (if_statement "if (pppiVar10 == (int ***)0x0) goto LAB_00049064;" (if "if") (parenthesized_expression "(pppiVar10 == (int ***)0x0)" (( "(") (binary_expression "pppiVar10 == (int ***)0x0" (identifier "pppiVar10") (== "==") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00049064;" (goto "goto") (statement_identifier "LAB_00049064") (; ";")))) (if_statement "if (*pppiVar10 == (int **)0x2) {\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }" (if "if") (parenthesized_expression "(*pppiVar10 == (int **)0x2)" (( "(") (binary_expression "*pppiVar10 == (int **)0x2" (pointer_expression "*pppiVar10" (* "*") (identifier "pppiVar10")) (== "==") (cast_expression "(int **)0x2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n    ppppiVar15 = ppppiVar22;\n    ppppiVar11 = ppppiVar22;\n    if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }\n    pppiStack_ac = (int ***)pppiVar10[2];\n    pppiStack_b0 = (int ***)ppppiVar22;\n    ppppiVar17 = ppppiVar22;\n    pppiStack_a8 = (int ***)ppppiVar22;\n    if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }\n    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);\n    ppppiVar15 = ppppiVar22;\n    if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }\nLAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);\n    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);\n  }" ({ "{") (expression_statement "ppppiVar15 = ppppiVar22;" (assignment_expression "ppppiVar15 = ppppiVar22" (identifier "ppppiVar15") (= "=") (identifier "ppppiVar22")) (; ";")) (expression_statement "ppppiVar11 = ppppiVar22;" (assignment_expression "ppppiVar11 = ppppiVar22" (identifier "ppppiVar11") (= "=") (identifier "ppppiVar22")) (; ";")) (if_statement "if ((int ****)pppiVar10[4] != (int ****)0x0) {\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }" (if "if") (parenthesized_expression "((int ****)pppiVar10[4] != (int ****)0x0)" (( "(") (binary_expression "(int ****)pppiVar10[4] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[4]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppiVar10[4]" (identifier "pppiVar10") ([ "[") (number_literal "4") (] "]"))) (!= "!=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppiVar15 = (int ****)pppiVar10[4];\n      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);\n    }" ({ "{") (expression_statement "ppppiVar15 = (int ****)pppiVar10[4];" (assignment_expression "ppppiVar15 = (int ****)pppiVar10[4]" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)pppiVar10[4]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppiVar10[4]" (identifier "pppiVar10") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);" (assignment_expression "ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" (identifier "ppppiVar11") (= "=") (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x28a0)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x28a0" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x28a0")) () ")")))) (; ";")) (} "}"))) (expression_statement "pppiStack_ac = (int ***)pppiVar10[2];" (assignment_expression "pppiStack_ac = (int ***)pppiVar10[2]" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)pppiVar10[2]" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppiVar10[2]" (identifier "pppiVar10") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pppiStack_b0 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar22" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";")) (expression_statement "ppppiVar17 = ppppiVar22;" (assignment_expression "ppppiVar17 = ppppiVar22" (identifier "ppppiVar17") (= "=") (identifier "ppppiVar22")) (; ";")) (expression_statement "pppiStack_a8 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar22" (identifier "pppiStack_a8") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";")) (if_statement "if ((int ****)pppiVar10[6] != (int ****)0x0) {\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }" (if "if") (parenthesized_expression "((int ****)pppiVar10[6] != (int ****)0x0)" (( "(") (binary_expression "(int ****)pppiVar10[6] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[6]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppiVar10[6]" (identifier "pppiVar10") ([ "[") (number_literal "6") (] "]"))) (!= "!=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      ppppiVar17 = (int ****)pppiVar10[6];\n      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n    }" ({ "{") (expression_statement "pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);" (assignment_expression "pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4720" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4720")) () ")")))) (; ";")) (expression_statement "ppppiVar17 = (int ****)pppiVar10[6];" (assignment_expression "ppppiVar17 = (int ****)pppiVar10[6]" (identifier "ppppiVar17") (= "=") (cast_expression "(int ****)pppiVar10[6]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppiVar10[6]" (identifier "pppiVar10") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);" (assignment_expression "pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" (identifier "pppiStack_a8") (= "=") (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x45b8" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x45b8")) () ")")))) (; ";")) (} "}"))) (expression_statement "unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);" (assignment_expression "unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" (identifier "unaff_s2") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f6c)" (( "(") (binary_expression "puStack_98 + -0x7f6c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f6c")) () ")"))))) () ")")) (argument_list "(iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17)" (( "(") (binary_expression "iVar19 + 0x47f0" (identifier "iVar19") (+ "+") (number_literal "0x47f0")) (, ",") (identifier "ppppiVar15") (, ",") (identifier "ppppiVar11") (, ",") (identifier "ppppiVar17") () ")"))))) (; ";")) (expression_statement "ppppiVar15 = ppppiVar22;" (assignment_expression "ppppiVar15 = ppppiVar22" (identifier "ppppiVar15") (= "=") (identifier "ppppiVar22")) (; ";")) (if_statement "if (pppiVar10[1] == (int **)0x44) {\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }\n    else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" (if "if") (parenthesized_expression "(pppiVar10[1] == (int **)0x44)" (( "(") (binary_expression "pppiVar10[1] == (int **)0x44" (subscript_expression "pppiVar10[1]" (identifier "pppiVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(int **)0x44" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x44"))) () ")")) (compound_statement "{\n      ppppiVar11 = (int ****)0x0;\nLAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];\n      pppiStack_a8 = pppiVar10 + 10;\n      pppiStack_ac = (int ***)uStack_90;\n      pppiStack_b0 = (int ***)iVar24;\n      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);\n      if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }\n      if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }\n    }" ({ "{") (expression_statement "ppppiVar11 = (int ****)0x0;" (assignment_expression "ppppiVar11 = (int ****)0x0" (identifier "ppppiVar11") (= "=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0004945c:\n      piStack_a4 = (int *)pppiVar10[9];" (statement_identifier "LAB_0004945c") (: ":") (expression_statement "piStack_a4 = (int *)pppiVar10[9];" (assignment_expression "piStack_a4 = (int *)pppiVar10[9]" (identifier "piStack_a4") (= "=") (cast_expression "(int *)pppiVar10[9]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppiVar10[9]" (identifier "pppiVar10") ([ "[") (number_literal "9") (] "]")))) (; ";"))) (expression_statement "pppiStack_a8 = pppiVar10 + 10;" (assignment_expression "pppiStack_a8 = pppiVar10 + 10" (identifier "pppiStack_a8") (= "=") (binary_expression "pppiVar10 + 10" (identifier "pppiVar10") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "pppiStack_ac = (int ***)uStack_90;" (assignment_expression "pppiStack_ac = (int ***)uStack_90" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)uStack_90" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "uStack_90"))) (; ";")) (expression_statement "pppiStack_b0 = (int ***)iVar24;" (assignment_expression "pppiStack_b0 = (int ***)iVar24" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)iVar24" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "iVar24"))) (; ";")) (expression_statement "pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);" (assignment_expression "pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7998))\n                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7998))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7998)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7998)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7998)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7998)" (( "(") (binary_expression "puStack_98 + -0x7998" (identifier "puStack_98") (+ "+") (number_literal "-0x7998")) () ")"))))) () ")")) (argument_list "(0,0xffffffff,pppiVar10[4],pppiVar10[2])" (( "(") (number_literal "0") (, ",") (number_literal "0xffffffff") (, ",") (subscript_expression "pppiVar10[4]" (identifier "pppiVar10") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "pppiVar10[2]" (identifier "pppiVar10") ([ "[") (number_literal "2") (] "]")) () ")"))))) (; ";")) (if_statement "if (pppiVar10[9] == (int **)0x1) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }\n      else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" (if "if") (parenthesized_expression "(pppiVar10[9] == (int **)0x1)" (( "(") (binary_expression "pppiVar10[9] == (int **)0x1" (subscript_expression "pppiVar10[9]" (identifier "pppiVar10") ([ "[") (number_literal "9") (] "]")) (== "==") (cast_expression "(int **)0x1" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n      }" ({ "{") (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4724" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4724")) () ")")))) (; ";")) (} "}")) (else_clause "else if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" (else "else") (if_statement "if (pppiVar10[9] == (int **)0x2) {\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" (if "if") (parenthesized_expression "(pppiVar10[9] == (int **)0x2)" (( "(") (binary_expression "pppiVar10[9] == (int **)0x2" (subscript_expression "pppiVar10[9]" (identifier "pppiVar10") ([ "[") (number_literal "9") (] "]")) (== "==") (cast_expression "(int **)0x2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n      }" ({ "{") (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x472c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x472c")) () ")")))) (; ";")) (} "}"))))) (if_statement "if ((int ****)pppiStack_ac == (int ****)0x0) {\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }\n      else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" (if "if") (parenthesized_expression "((int ****)pppiStack_ac == (int ****)0x0)" (( "(") (binary_expression "(int ****)pppiStack_ac == (int ****)0x0" (cast_expression "(int ****)pppiStack_ac" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppiStack_ac")) (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pppiStack_b0 = (int ***)ppppiVar22;\n        pppiStack_ac = (int ***)ppppiVar22;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\n      }" ({ "{") (expression_statement "pppiStack_b0 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar22" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";")) (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";")) (expression_statement "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" (( "(") (pointer_expression "*(code *)pppiStack_8c" (* "*") (cast_expression "(code *)pppiStack_8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_8c"))) () ")")) (argument_list "(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (( "(") (identifier "iVar24") (, ",") (binary_expression "(int)pcStack_88 + 0x48a4" (cast_expression "(int)pcStack_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_88")) (+ "+") (number_literal "0x48a4")) (, ",") (identifier "ppppiVar15") (, ",") (identifier "unaff_s2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" (else "else") (compound_statement "{\n        pppiStack_b0 = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_ac;\n        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);\nLAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);\n      }" ({ "{") (expression_statement "pppiStack_b0 = (int ***)(iVar7 + 0x4898);" (assignment_expression "pppiStack_b0 = (int ***)(iVar7 + 0x4898)" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)(iVar7 + 0x4898)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar7 + 0x4898)" (( "(") (binary_expression "iVar7 + 0x4898" (identifier "iVar7") (+ "+") (number_literal "0x4898")) () ")")))) (; ";")) (expression_statement "pppiStack_84 = pppiStack_ac;" (assignment_expression "pppiStack_84 = pppiStack_ac" (identifier "pppiStack_84") (= "=") (identifier "pppiStack_ac")) (; ";")) (expression_statement "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" (( "(") (pointer_expression "*(code *)pppiStack_8c" (* "*") (cast_expression "(code *)pppiStack_8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_8c"))) () ")")) (argument_list "(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2)" (( "(") (identifier "iVar24") (, ",") (binary_expression "(int)pcStack_88 + 0x48a4" (cast_expression "(int)pcStack_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_88")) (+ "+") (number_literal "0x48a4")) (, ",") (identifier "ppppiVar15") (, ",") (identifier "unaff_s2") () ")"))) (; ";")) (labeled_statement "LAB_000495e0:\n        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);" (statement_identifier "LAB_000495e0") (: ":") (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(pppiStack_84)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(pppiStack_84)" (( "(") (identifier "pppiStack_84") () ")"))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" (else "else") (compound_statement "{\n      pppiStack_b0 = (int ***)pppiVar10[3];\n      pppiStack_ac = (int ***)ppppiVar22;\n      ppppiVar11 = ppppiVar22;\n      ppppiVar17 = ppppiVar22;\n      if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }\n      ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);\n      if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }\n      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;\n      if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }\n      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);\n      ppiVar12 = pppiVar10[5];\n      pcVar27 = *(code **)(puStack_98 + -0x7f60);\n      ppppiVar20[5] = (int ***)0x0;\n      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);\n      pppiVar14 = (int ***)pppiVar10[3];\n      ppiVar12 = pppiVar10[4];\n      ppppiVar20[3] = pppiVar13;\n      ppppiVar20[1] = pppiVar14;\n      if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }\n      pcVar27 = *(code **)(puStack_98 + -0x7ebc);\n      uVar5 = *(undefined4 *)(iVar24 + 0x13c);\n      *ppppiVar20 = (int ***)pppiVar10[2];\n      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);\n      if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }\n    }" ({ "{") (expression_statement "pppiStack_b0 = (int ***)pppiVar10[3];" (assignment_expression "pppiStack_b0 = (int ***)pppiVar10[3]" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)pppiVar10[3]" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppiVar10[3]" (identifier "pppiVar10") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";")) (expression_statement "ppppiVar11 = ppppiVar22;" (assignment_expression "ppppiVar11 = ppppiVar22" (identifier "ppppiVar11") (= "=") (identifier "ppppiVar22")) (; ";")) (expression_statement "ppppiVar17 = ppppiVar22;" (assignment_expression "ppppiVar17 = ppppiVar22" (identifier "ppppiVar17") (= "=") (identifier "ppppiVar22")) (; ";")) (if_statement "if ((int ****)pppiVar10[7] != (int ****)0x0) {\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }" (if "if") (parenthesized_expression "((int ****)pppiVar10[7] != (int ****)0x0)" (( "(") (binary_expression "(int ****)pppiVar10[7] != (int ****)0x0" (cast_expression "(int ****)pppiVar10[7]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppiVar10[7]" (identifier "pppiVar10") ([ "[") (number_literal "7") (] "]"))) (!= "!=") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);\n        ppppiVar11 = (int ****)pppiVar10[7];\n        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);\n      }" ({ "{") (expression_statement "pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);" (assignment_expression "pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x45b8)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x45b8" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x45b8")) () ")")))) (; ";")) (expression_statement "ppppiVar11 = (int ****)pppiVar10[7];" (assignment_expression "ppppiVar11 = (int ****)pppiVar10[7]" (identifier "ppppiVar11") (= "=") (cast_expression "(int ****)pppiVar10[7]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppiVar10[7]" (identifier "pppiVar10") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);" (assignment_expression "ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" (identifier "ppppiVar17") (= "=") (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4720)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4720" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4720")) () ")")))) (; ";")) (} "}"))) (expression_statement "ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17);" (assignment_expression "ppppiVar11 = (int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" (identifier "ppppiVar11") (= "=") (cast_expression "(int ****)\n                   (**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f6c))\n                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f6c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f6c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f6c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f6c)" (( "(") (binary_expression "puStack_98 + -0x7f6c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f6c")) () ")"))))) () ")")) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,\n                              ppppiVar17)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4800" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4800")) (, ",") (subscript_expression "pppiVar10[5]" (identifier "pppiVar10") ([ "[") (number_literal "5") (] "]")) (, ",") (identifier "ppppiVar11") (, ",") (identifier "ppppiVar17") () ")"))))) (; ";")) (if_statement "if (pppiVar10[1] == (int **)0x4c) {\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }" (if "if") (parenthesized_expression "(pppiVar10[1] == (int **)0x4c)" (( "(") (binary_expression "pppiVar10[1] == (int **)0x4c" (subscript_expression "pppiVar10[1]" (identifier "pppiVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(int **)0x4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x4c"))) () ")")) (compound_statement "{\n        piStack_a4 = (int *)pppiVar10[9];\n        pppiStack_a8 = pppiVar10 + 10;\n        pppiStack_ac = (int ***)uStack_90;\n        pppiStack_b0 = (int ***)iVar24;\n        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);\n        pppiStack_b0 = (int ***)ppppiVar11;\n        if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }\n        pppiStack_ac = (int ***)(iVar7 + 0x4898);\n        pppiStack_84 = pppiStack_a8;\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);\n        goto LAB_000495e0;\n      }" ({ "{") (expression_statement "piStack_a4 = (int *)pppiVar10[9];" (assignment_expression "piStack_a4 = (int *)pppiVar10[9]" (identifier "piStack_a4") (= "=") (cast_expression "(int *)pppiVar10[9]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppiVar10[9]" (identifier "pppiVar10") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "pppiStack_a8 = pppiVar10 + 10;" (assignment_expression "pppiStack_a8 = pppiVar10 + 10" (identifier "pppiStack_a8") (= "=") (binary_expression "pppiVar10 + 10" (identifier "pppiVar10") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "pppiStack_ac = (int ***)uStack_90;" (assignment_expression "pppiStack_ac = (int ***)uStack_90" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)uStack_90" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "uStack_90"))) (; ";")) (expression_statement "pppiStack_b0 = (int ***)iVar24;" (assignment_expression "pppiStack_b0 = (int ***)iVar24" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)iVar24" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "iVar24"))) (; ";")) (expression_statement "pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);" (assignment_expression "pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" (identifier "pppiStack_a8") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7998))\n                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" (parenthesized_expression "(**(code **)(puStack_98 + -0x7998))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7998)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7998)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7998)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7998)" (( "(") (binary_expression "puStack_98 + -0x7998" (identifier "puStack_98") (+ "+") (number_literal "-0x7998")) () ")"))))) () ")")) (argument_list "(pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2])" (( "(") (subscript_expression "pppiVar10[5]" (identifier "pppiVar10") ([ "[") (number_literal "5") (] "]")) (, ",") (subscript_expression "pppiVar10[3]" (identifier "pppiVar10") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "pppiVar10[4]" (identifier "pppiVar10") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "pppiVar10[2]" (identifier "pppiVar10") ([ "[") (number_literal "2") (] "]")) () ")"))))) (; ";")) (expression_statement "pppiStack_b0 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar11" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)ppppiVar11" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar11"))) (; ";")) (if_statement "if (pppiVar10[9] == (int **)0x1) {\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }\n        else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" (if "if") (parenthesized_expression "(pppiVar10[9] == (int **)0x1)" (( "(") (binary_expression "pppiVar10[9] == (int **)0x1" (subscript_expression "pppiVar10[9]" (identifier "pppiVar10") ([ "[") (number_literal "9") (] "]")) (== "==") (cast_expression "(int **)0x1" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }\n        }" ({ "{") (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x4724)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4724" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4724")) () ")")))) (; ";")) (if_statement "if ((int ****)pppiStack_a8 == (int ****)0x0) {\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }" (if "if") (parenthesized_expression "((int ****)pppiStack_a8 == (int ****)0x0)" (( "(") (binary_expression "(int ****)pppiStack_a8 == (int ****)0x0" (cast_expression "(int ****)pppiStack_a8" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppiStack_a8")) (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar4 = *(int *)(puStack_98 + -0x7fc8);\n            goto LAB_00049828;\n          }" ({ "{") (expression_statement "iVar4 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar4 = *(int *)(puStack_98 + -0x7fc8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (goto_statement "goto LAB_00049828;" (goto "goto") (statement_identifier "LAB_00049828") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" (else "else") (compound_statement "{\n          if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }\n          iVar4 = *(int *)(puStack_98 + -0x7fc8);\n          if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }\n        }" ({ "{") (if_statement "if (pppiVar10[9] == (int **)0x2) {\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }" (if "if") (parenthesized_expression "(pppiVar10[9] == (int **)0x2)" (( "(") (binary_expression "pppiVar10[9] == (int **)0x2" (subscript_expression "pppiVar10[9]" (identifier "pppiVar10") ([ "[") (number_literal "9") (] "]")) (== "==") (cast_expression "(int **)0x2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);\n          }" ({ "{") (expression_statement "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);" (assignment_expression "ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_98 + -0x7fc8) + 0x472c)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x472c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x472c")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar4 = *(int *)(puStack_98 + -0x7fc8);" (assignment_expression "iVar4 = *(int *)(puStack_98 + -0x7fc8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (if_statement "if ((int ****)pppiStack_a8 == (int ****)0x0) {\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }" (if "if") (parenthesized_expression "((int ****)pppiStack_a8 == (int ****)0x0)" (( "(") (binary_expression "(int ****)pppiStack_a8 == (int ****)0x0" (cast_expression "(int ****)pppiStack_a8" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppiStack_a8")) (== "==") (cast_expression "(int ****)0x0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;\n            pppiStack_a8 = (int ***)ppppiVar22;\n            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);\n            goto LAB_00049208;\n          }" ({ "{") (labeled_statement "LAB_00049828:\n            pppiStack_ac = (int ***)ppppiVar22;" (statement_identifier "LAB_00049828") (: ":") (expression_statement "pppiStack_ac = (int ***)ppppiVar22;" (assignment_expression "pppiStack_ac = (int ***)ppppiVar22" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";"))) (expression_statement "pppiStack_a8 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar22" (identifier "pppiStack_a8") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";")) (expression_statement "(*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" (( "(") (pointer_expression "*(code *)pppiStack_8c" (* "*") (cast_expression "(code *)pppiStack_8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_8c"))) () ")")) (argument_list "(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2)" (( "(") (identifier "iVar24") (, ",") (binary_expression "iVar4 + 0x4870" (identifier "iVar4") (+ "+") (number_literal "0x4870")) (, ",") (identifier "ppppiVar15") (, ",") (identifier "unaff_s2") () ")"))) (; ";")) (goto_statement "goto LAB_00049208;" (goto "goto") (statement_identifier "LAB_00049208") (; ";")) (} "}"))) (} "}")))) (expression_statement "pppiStack_ac = (int ***)(iVar7 + 0x4898);" (assignment_expression "pppiStack_ac = (int ***)(iVar7 + 0x4898)" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)(iVar7 + 0x4898)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar7 + 0x4898)" (( "(") (binary_expression "iVar7 + 0x4898" (identifier "iVar7") (+ "+") (number_literal "0x4898")) () ")")))) (; ";")) (expression_statement "pppiStack_84 = pppiStack_a8;" (assignment_expression "pppiStack_84 = pppiStack_a8" (identifier "pppiStack_84") (= "=") (identifier "pppiStack_a8")) (; ";")) (expression_statement "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);" (call_expression "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2)" (parenthesized_expression "(*(code *)pppiStack_8c)" (( "(") (pointer_expression "*(code *)pppiStack_8c" (* "*") (cast_expression "(code *)pppiStack_8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_8c"))) () ")")) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2)" (( "(") (identifier "iVar24") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4870" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4870")) (, ",") (identifier "ppppiVar15") (, ",") (identifier "unaff_s2") () ")"))) (; ";")) (goto_statement "goto LAB_000495e0;" (goto "goto") (statement_identifier "LAB_000495e0") (; ";")) (} "}"))) (if_statement "if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;" (if "if") (parenthesized_expression "(pppiVar10[1] == (int **)0x44)" (( "(") (binary_expression "pppiVar10[1] == (int **)0x44" (subscript_expression "pppiVar10[1]" (identifier "pppiVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(int **)0x44" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x44"))) () ")")) (goto_statement "goto LAB_0004945c;" (goto "goto") (statement_identifier "LAB_0004945c") (; ";"))) (if_statement "if (*(int *)(iVar24 + 0x13c) == 0) {\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar24 + 0x13c) == 0)" (( "(") (binary_expression "*(int *)(iVar24 + 0x13c) == 0" (pointer_expression "*(int *)(iVar24 + 0x13c)" (* "*") (cast_expression "(int *)(iVar24 + 0x13c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x13c)" (( "(") (binary_expression "iVar24 + 0x13c" (identifier "iVar24") (+ "+") (number_literal "0x13c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n      }" ({ "{") (if_statement "if (*(int *)(iVar24 + 0x198) == 1) {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }\n        else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar24 + 0x198) == 1)" (( "(") (binary_expression "*(int *)(iVar24 + 0x198) == 1" (pointer_expression "*(int *)(iVar24 + 0x198)" (* "*") (cast_expression "(int *)(iVar24 + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x198)" (( "(") (binary_expression "iVar24 + 0x198" (identifier "iVar24") (+ "+") (number_literal "0x198")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" ({ "{") (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7eb4))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7eb4)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7eb4)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7eb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7eb4)" (( "(") (binary_expression "puStack_98 + -0x7eb4" (identifier "puStack_98") (+ "+") (number_literal "-0x7eb4")) () ")"))))) () ")")) (argument_list "(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2cfc" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7b0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7b0c)" (( "(") (binary_expression "puStack_98 + -0x7b0c" (identifier "puStack_98") (+ "+") (number_literal "-0x7b0c")) () ")")))) (+ "+") (number_literal "-0x2cfc")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar24 + 0x13c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x13c) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x13c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x13c)" (( "(") (binary_expression "iVar24 + 0x13c" (identifier "iVar24") (+ "+") (number_literal "0x13c")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}")) (else_clause "else {\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" (else "else") (compound_statement "{\n          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);\n          *(undefined4 *)(iVar24 + 0x13c) = uVar5;\n        }" ({ "{") (expression_statement "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);" (assignment_expression "uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7eb4))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7eb4)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7eb4)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7eb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7eb4)" (( "(") (binary_expression "puStack_98 + -0x7eb4" (identifier "puStack_98") (+ "+") (number_literal "-0x7eb4")) () ")"))))) () ")")) (argument_list "(*(int *)(puStack_98 + -0x7b0c) + -0x2da0)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2da0" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7b0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7b0c)" (( "(") (binary_expression "puStack_98 + -0x7b0c" (identifier "puStack_98") (+ "+") (number_literal "-0x7b0c")) () ")")))) (+ "+") (number_literal "-0x2da0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar24 + 0x13c) = uVar5;" (assignment_expression "*(undefined4 *)(iVar24 + 0x13c) = uVar5" (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x13c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x13c)" (( "(") (binary_expression "iVar24 + 0x13c" (identifier "iVar24") (+ "+") (number_literal "0x13c")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}")))) (} "}"))) (expression_statement "ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);" (assignment_expression "ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" (identifier "ppppiVar20") (= "=") (cast_expression "(int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f68))(1,0x1c)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f68))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f68)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f68)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f68)" (( "(") (binary_expression "puStack_98 + -0x7f68" (identifier "puStack_98") (+ "+") (number_literal "-0x7f68")) () ")"))))) () ")")) (argument_list "(1,0x1c)" (( "(") (number_literal "1") (, ",") (number_literal "0x1c") () ")"))))) (; ";")) (expression_statement "ppiVar12 = pppiVar10[5];" (assignment_expression "ppiVar12 = pppiVar10[5]" (identifier "ppiVar12") (= "=") (subscript_expression "pppiVar10[5]" (identifier "pppiVar10") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7f60);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7f60)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7f60)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f60)" (( "(") (binary_expression "puStack_98 + -0x7f60" (identifier "puStack_98") (+ "+") (number_literal "-0x7f60")) () ")"))))) (; ";")) (expression_statement "ppppiVar20[5] = (int ***)0x0;" (assignment_expression "ppppiVar20[5] = (int ***)0x0" (subscript_expression "ppppiVar20[5]" (identifier "ppppiVar20") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppiVar13 = (int ***)(*pcVar27)(ppiVar12);" (assignment_expression "pppiVar13 = (int ***)(*pcVar27)(ppiVar12)" (identifier "pppiVar13") (= "=") (cast_expression "(int ***)(*pcVar27)(ppiVar12)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(*pcVar27)(ppiVar12)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(ppiVar12)" (( "(") (identifier "ppiVar12") () ")"))))) (; ";")) (expression_statement "pppiVar14 = (int ***)pppiVar10[3];" (assignment_expression "pppiVar14 = (int ***)pppiVar10[3]" (identifier "pppiVar14") (= "=") (cast_expression "(int ***)pppiVar10[3]" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppiVar10[3]" (identifier "pppiVar10") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "ppiVar12 = pppiVar10[4];" (assignment_expression "ppiVar12 = pppiVar10[4]" (identifier "ppiVar12") (= "=") (subscript_expression "pppiVar10[4]" (identifier "pppiVar10") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "ppppiVar20[3] = pppiVar13;" (assignment_expression "ppppiVar20[3] = pppiVar13" (subscript_expression "ppppiVar20[3]" (identifier "ppppiVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "pppiVar13")) (; ";")) (expression_statement "ppppiVar20[1] = pppiVar14;" (assignment_expression "ppppiVar20[1] = pppiVar14" (subscript_expression "ppppiVar20[1]" (identifier "ppppiVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pppiVar14")) (; ";")) (if_statement "if (ppiVar12 == (int **)0x0) {\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }\n      else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" (if "if") (parenthesized_expression "(ppiVar12 == (int **)0x0)" (( "(") (binary_expression "ppiVar12 == (int **)0x0" (identifier "ppiVar12") (== "==") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);\n        if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }\n      }" ({ "{") (expression_statement "iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);" (assignment_expression "iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f3c))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f3c)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f3c)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f3c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f3c)" (( "(") (binary_expression "puStack_98 + -0x7f3c" (identifier "puStack_98") (+ "+") (number_literal "-0x7f3c")) () ")"))))) () ")")) (argument_list "(uStack_90,0x9a)" (( "(") (identifier "uStack_90") (, ",") (number_literal "0x9a") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }\n        else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);\n          ppppiVar20[2] = pppiVar13;\n        }" ({ "{") (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (identifier "pppiVar13") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f60))\n                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f60)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f60)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f60)" (( "(") (binary_expression "puStack_98 + -0x7f60" (identifier "puStack_98") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "(*(int *)(puStack_98 + -0x7fc8) + 0x47e4)" (( "(") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x47e4" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x47e4")) () ")"))))) (; ";")) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" (identifier "ppppiVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pppiVar13")) (; ";")) (} "}")) (else_clause "else {\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" (else "else") (compound_statement "{\n          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);\n          ppppiVar20[2] = pppiVar13;\n        }" ({ "{") (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" (identifier "pppiVar13") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f60))(ppppiVar22)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f60)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f60)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f60)" (( "(") (binary_expression "puStack_98 + -0x7f60" (identifier "puStack_98") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "(ppppiVar22)" (( "(") (identifier "ppppiVar22") () ")"))))) (; ";")) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" (identifier "ppppiVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pppiVar13")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" (else "else") (compound_statement "{\n        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();\n        ppppiVar20[2] = pppiVar13;\n      }" ({ "{") (expression_statement "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();" (assignment_expression "pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))()" (identifier "pppiVar13") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7f60))()" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7f60))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7f60))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7f60)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7f60)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7f60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7f60)" (( "(") (binary_expression "puStack_98 + -0x7f60" (identifier "puStack_98") (+ "+") (number_literal "-0x7f60")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppiVar20[2] = pppiVar13;" (assignment_expression "ppppiVar20[2] = pppiVar13" (subscript_expression "ppppiVar20[2]" (identifier "ppppiVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pppiVar13")) (; ";")) (} "}")))) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x7ebc);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x7ebc)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x7ebc)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ebc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ebc)" (( "(") (binary_expression "puStack_98 + -0x7ebc" (identifier "puStack_98") (+ "+") (number_literal "-0x7ebc")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(iVar24 + 0x13c);" (assignment_expression "uVar5 = *(undefined4 *)(iVar24 + 0x13c)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(iVar24 + 0x13c)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x13c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x13c)" (( "(") (binary_expression "iVar24 + 0x13c" (identifier "iVar24") (+ "+") (number_literal "0x13c")) () ")"))))) (; ";")) (expression_statement "*ppppiVar20 = (int ***)pppiVar10[2];" (assignment_expression "*ppppiVar20 = (int ***)pppiVar10[2]" (pointer_expression "*ppppiVar20" (* "*") (identifier "ppppiVar20")) (= "=") (cast_expression "(int ***)pppiVar10[2]" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppiVar10[2]" (identifier "pppiVar10") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);" (assignment_expression "ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20)" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)(*pcVar27)(uVar5,ppppiVar20)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*pcVar27)(uVar5,ppppiVar20)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(uVar5,ppppiVar20)" (( "(") (identifier "uVar5") (, ",") (identifier "ppppiVar20") () ")"))))) (; ";")) (if_statement "if (ppppiVar20 == ppppiVar15) {\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }\n      else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" (if "if") (parenthesized_expression "(ppppiVar20 == ppppiVar15)" (( "(") (binary_expression "ppppiVar20 == ppppiVar15" (identifier "ppppiVar20") (== "==") (identifier "ppppiVar15")) () ")")) (compound_statement "{\n        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);\n        ppppiVar15 = *(int *****)(iVar24 + 0x198);\n        ppppiVar20[4] = unaff_s2;\n        pppiVar10[8] = (int **)ppppiVar20;\n        ppppiVar20[6] = pppiVar10;\n        if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n      }" ({ "{") (expression_statement "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);" (call_expression "(*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11)" (parenthesized_expression "(*(code *)pppiStack_8c)" (( "(") (pointer_expression "*(code *)pppiStack_8c" (* "*") (cast_expression "(code *)pppiStack_8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_8c"))) () ")")) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11)" (( "(") (identifier "iVar24") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4838" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4838")) (, ",") (identifier "unaff_s2") (, ",") (identifier "ppppiVar11") () ")"))) (; ";")) (expression_statement "ppppiVar15 = *(int *****)(iVar24 + 0x198);" (assignment_expression "ppppiVar15 = *(int *****)(iVar24 + 0x198)" (identifier "ppppiVar15") (= "=") (pointer_expression "*(int *****)(iVar24 + 0x198)" (* "*") (cast_expression "(int *****)(iVar24 + 0x198)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar24 + 0x198)" (( "(") (binary_expression "iVar24 + 0x198" (identifier "iVar24") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (expression_statement "ppppiVar20[4] = unaff_s2;" (assignment_expression "ppppiVar20[4] = unaff_s2" (subscript_expression "ppppiVar20[4]" (identifier "ppppiVar20") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "pppiVar10[8] = (int **)ppppiVar20;" (assignment_expression "pppiVar10[8] = (int **)ppppiVar20" (subscript_expression "pppiVar10[8]" (identifier "pppiVar10") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(int **)ppppiVar20" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "ppppiVar20"))) (; ";")) (expression_statement "ppppiVar20[6] = pppiVar10;" (assignment_expression "ppppiVar20[6] = pppiVar10" (subscript_expression "ppppiVar20[6]" (identifier "ppppiVar20") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "pppiVar10")) (; ";")) (if_statement "if (ppppiVar15 == (int ****)0x1) {\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }\n        else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" (if "if") (parenthesized_expression "(ppppiVar15 == (int ****)0x1)" (( "(") (binary_expression "ppppiVar15 == (int ****)0x1" (identifier "ppppiVar15") (== "==") (cast_expression "(int ****)0x1" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n          uStack_a0 = 0;\n          piStack_a4 = (int *)pppiVar10[3];\n          unaff_s2 = (int ***)0x0;\n          pppiStack_ac = (int ***)pppiVar10[5];\n          pppiStack_b0 = (int ***)0x4;\n          pppiStack_a8 = (int ***)ppppiVar15;\n          FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);\n          ppppiVar15 = (int ****)0xf;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" ({ "{") (expression_statement "uStack_a0 = 0;" (assignment_expression "uStack_a0 = 0" (identifier "uStack_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "piStack_a4 = (int *)pppiVar10[3];" (assignment_expression "piStack_a4 = (int *)pppiVar10[3]" (identifier "piStack_a4") (= "=") (cast_expression "(int *)pppiVar10[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppiVar10[3]" (identifier "pppiVar10") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "unaff_s2 = (int ***)0x0;" (assignment_expression "unaff_s2 = (int ***)0x0" (identifier "unaff_s2") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppiStack_ac = (int ***)pppiVar10[5];" (assignment_expression "pppiStack_ac = (int ***)pppiVar10[5]" (identifier "pppiStack_ac") (= "=") (cast_expression "(int ***)pppiVar10[5]" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (subscript_expression "pppiVar10[5]" (identifier "pppiVar10") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "pppiStack_b0 = (int ***)0x4;" (assignment_expression "pppiStack_b0 = (int ***)0x4" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)0x4" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x4"))) (; ";")) (expression_statement "pppiStack_a8 = (int ***)ppppiVar15;" (assignment_expression "pppiStack_a8 = (int ***)ppppiVar15" (identifier "pppiStack_a8") (= "=") (cast_expression "(int ***)ppppiVar15" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar15"))) (; ";")) (expression_statement "FUN_00048a74(iVar24,0x1c,1,pppiVar10[2]);" (call_expression "FUN_00048a74(iVar24,0x1c,1,pppiVar10[2])" (identifier "FUN_00048a74") (argument_list "(iVar24,0x1c,1,pppiVar10[2])" (( "(") (identifier "iVar24") (, ",") (number_literal "0x1c") (, ",") (number_literal "1") (, ",") (subscript_expression "pppiVar10[2]" (identifier "pppiVar10") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "ppppiVar15 = (int ****)0xf;" (assignment_expression "ppppiVar15 = (int ****)0xf" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)0xf" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0xf"))) (; ";")) (expression_statement "pppiStack_b0 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar20" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)ppppiVar20" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar20"))) (; ";")) (expression_statement "FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);" (call_expression "FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" (identifier "FUN_000365c8") (argument_list "(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" (( "(") (identifier "iVar24") (, ",") (number_literal "0xe") (, ",") (number_literal "0xf") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2a68" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7b0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7b0c)" (( "(") (binary_expression "puStack_98 + -0x7b0c" (identifier "puStack_98") (+ "+") (number_literal "-0x7b0c")) () ")")))) (+ "+") (number_literal "-0x2a68")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" (else "else") (compound_statement "{\n          uVar5 = FUN_0003a5ec(0x50);\n          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);\n          uStack_61 = 1;\n          FUN_0003a494(uVar5,&uStack_61,1);\n          FUN_0003a7dc(uVar5,ppppiVar20[2]);\n          FUN_0003a76c(uVar5,*ppppiVar20);\n          unaff_s2 = (int ***)0x0;\n          FUN_00045998(iVar24,uVar5);\n          ppppiVar15 = (int ****)0x52;\n          pppiStack_b0 = (int ***)ppppiVar20;\n          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);\n        }" ({ "{") (expression_statement "uVar5 = FUN_0003a5ec(0x50);" (assignment_expression "uVar5 = FUN_0003a5ec(0x50)" (identifier "uVar5") (= "=") (call_expression "FUN_0003a5ec(0x50)" (identifier "FUN_0003a5ec") (argument_list "(0x50)" (( "(") (number_literal "0x50") () ")")))) (; ";")) (expression_statement "FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);" (call_expression "FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860)" (identifier "FUN_0003a7dc") (argument_list "(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860)" (( "(") (identifier "uVar5") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x4860" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x4860")) () ")"))) (; ";")) (expression_statement "uStack_61 = 1;" (assignment_expression "uStack_61 = 1" (identifier "uStack_61") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_0003a494(uVar5,&uStack_61,1);" (call_expression "FUN_0003a494(uVar5,&uStack_61,1)" (identifier "FUN_0003a494") (argument_list "(uVar5,&uStack_61,1)" (( "(") (identifier "uVar5") (, ",") (pointer_expression "&uStack_61" (& "&") (identifier "uStack_61")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0003a7dc(uVar5,ppppiVar20[2]);" (call_expression "FUN_0003a7dc(uVar5,ppppiVar20[2])" (identifier "FUN_0003a7dc") (argument_list "(uVar5,ppppiVar20[2])" (( "(") (identifier "uVar5") (, ",") (subscript_expression "ppppiVar20[2]" (identifier "ppppiVar20") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0003a76c(uVar5,*ppppiVar20);" (call_expression "FUN_0003a76c(uVar5,*ppppiVar20)" (identifier "FUN_0003a76c") (argument_list "(uVar5,*ppppiVar20)" (( "(") (identifier "uVar5") (, ",") (pointer_expression "*ppppiVar20" (* "*") (identifier "ppppiVar20")) () ")"))) (; ";")) (expression_statement "unaff_s2 = (int ***)0x0;" (assignment_expression "unaff_s2 = (int ***)0x0" (identifier "unaff_s2") (= "=") (cast_expression "(int ***)0x0" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00045998(iVar24,uVar5);" (call_expression "FUN_00045998(iVar24,uVar5)" (identifier "FUN_00045998") (argument_list "(iVar24,uVar5)" (( "(") (identifier "iVar24") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "ppppiVar15 = (int ****)0x52;" (assignment_expression "ppppiVar15 = (int ****)0x52" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)0x52" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x52"))) (; ";")) (expression_statement "pppiStack_b0 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_b0 = (int ***)ppppiVar20" (identifier "pppiStack_b0") (= "=") (cast_expression "(int ***)ppppiVar20" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar20"))) (; ";")) (expression_statement "FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);" (call_expression "FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" (identifier "FUN_000365c8") (argument_list "(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68)" (( "(") (identifier "iVar24") (, ",") (number_literal "0x51") (, ",") (number_literal "0x52") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7b0c) + -0x2a68" (pointer_expression "*(int *)(puStack_98 + -0x7b0c)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7b0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7b0c)" (( "(") (binary_expression "puStack_98 + -0x7b0c" (identifier "puStack_98") (+ "+") (number_literal "-0x7b0c")) () ")")))) (+ "+") (number_literal "-0x2a68")) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" (else "else") (compound_statement "{\n        ppppiVar15 = (int ****)pppiVar10[5];\n        (*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);\n        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);\n      }" ({ "{") (expression_statement "ppppiVar15 = (int ****)pppiVar10[5];" (assignment_expression "ppppiVar15 = (int ****)pppiVar10[5]" (identifier "ppppiVar15") (= "=") (cast_expression "(int ****)pppiVar10[5]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "pppiVar10[5]" (identifier "pppiVar10") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "(*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);" (call_expression "(*(code *)pppiStack_8c)\n                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3])" (parenthesized_expression "(*(code *)pppiStack_8c)" (( "(") (pointer_expression "*(code *)pppiStack_8c" (* "*") (cast_expression "(code *)pppiStack_8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppiStack_8c"))) () ")")) (argument_list "(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3])" (( "(") (identifier "iVar24") (, ",") (binary_expression "*(int *)(puStack_98 + -0x7fc8) + 0x480c" (pointer_expression "*(int *)(puStack_98 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_98 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_98 + -0x7fc8)" (( "(") (binary_expression "puStack_98 + -0x7fc8" (identifier "puStack_98") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x480c")) (, ",") (identifier "ppppiVar15") (, ",") (subscript_expression "pppiVar10[3]" (identifier "pppiVar10") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar20)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(ppppiVar20)" (( "(") (identifier "ppppiVar20") () ")"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00049208:\n    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);" (statement_identifier "LAB_00049208") (: ":") (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(unaff_s2);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(unaff_s2)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";"))) (expression_statement "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);" (call_expression "(**(code **)(puStack_98 + -0x7fa0))(ppppiVar11)" (parenthesized_expression "(**(code **)(puStack_98 + -0x7fa0))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7fa0)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7fa0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7fa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7fa0)" (( "(") (binary_expression "puStack_98 + -0x7fa0" (identifier "puStack_98") (+ "+") (number_literal "-0x7fa0")) () ")"))))) () ")")) (argument_list "(ppppiVar11)" (( "(") (identifier "ppppiVar11") () ")"))) (; ";")) (} "}"))) (expression_statement "pppiVar23 = (int ***)((int)pppiVar23 + 1);" (assignment_expression "pppiVar23 = (int ***)((int)pppiVar23 + 1)" (identifier "pppiVar23") (= "=") (cast_expression "(int ***)((int)pppiVar23 + 1)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppiVar23 + 1)" (( "(") (binary_expression "(int)pppiVar23 + 1" (cast_expression "(int)pppiVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar23")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar24 + 0x140);" (assignment_expression "iVar4 = *(int *)(iVar24 + 0x140)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar24 + 0x140)" (* "*") (cast_expression "(int *)(iVar24 + 0x140)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x140)" (( "(") (binary_expression "iVar24 + 0x140" (identifier "iVar24") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "pppiVar13 = pppiVar23;" (assignment_expression "pppiVar13 = pppiVar23" (identifier "pppiVar13") (= "=") (identifier "pppiVar23")) (; ";")) (expression_statement "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();" (assignment_expression "pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))()" (identifier "pppiVar10") (= "=") (cast_expression "(int ***)(**(code **)(puStack_98 + -0x7ea8))()" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(puStack_98 + -0x7ea8))()" (parenthesized_expression "(**(code **)(puStack_98 + -0x7ea8))" (( "(") (pointer_expression "**(code **)(puStack_98 + -0x7ea8)" (* "*") (pointer_expression "*(code **)(puStack_98 + -0x7ea8)" (* "*") (cast_expression "(code **)(puStack_98 + -0x7ea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x7ea8)" (( "(") (binary_expression "puStack_98 + -0x7ea8" (identifier "puStack_98") (+ "+") (number_literal "-0x7ea8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto joined_r0x0004902c;" (goto "goto") (statement_identifier "joined_r0x0004902c") (; ";")) (labeled_statement "LAB_00049064:\n  if (iStack_5c == *piStack_74) {\n    return;\n  }" (statement_identifier "LAB_00049064") (: ":") (if_statement "if (iStack_5c == *piStack_74) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_5c == *piStack_74)" (( "(") (binary_expression "iStack_5c == *piStack_74" (identifier "iStack_5c") (== "==") (pointer_expression "*piStack_74" (* "*") (identifier "piStack_74"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "pcVar27 = *(code **)(puStack_98 + -0x74e0);" (assignment_expression "pcVar27 = *(code **)(puStack_98 + -0x74e0)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puStack_98 + -0x74e0)" (* "*") (cast_expression "(code **)(puStack_98 + -0x74e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_98 + -0x74e0)" (( "(") (binary_expression "puStack_98 + -0x74e0" (identifier "puStack_98") (+ "+") (number_literal "-0x74e0")) () ")"))))) (; ";")) (expression_statement "pcVar28 = FUN_00049944;" (assignment_expression "pcVar28 = FUN_00049944" (identifier "pcVar28") (= "=") (identifier "FUN_00049944")) (; ";")) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_e8 = pcVar27 + 0x6e80c;" (assignment_expression "pcStack_e8 = pcVar27 + 0x6e80c" (identifier "pcStack_e8") (= "=") (binary_expression "pcVar27 + 0x6e80c" (identifier "pcVar27") (+ "+") (number_literal "0x6e80c"))) (; ";")) (expression_statement "*(int ****)(iVar4 + 0x11c) = pppiVar13;" (assignment_expression "*(int ****)(iVar4 + 0x11c) = pppiVar13" (pointer_expression "*(int ****)(iVar4 + 0x11c)" (* "*") (cast_expression "(int ****)(iVar4 + 0x11c)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar4 + 0x11c)" (( "(") (binary_expression "iVar4 + 0x11c" (identifier "iVar4") (+ "+") (number_literal "0x11c")) () ")")))) (= "=") (identifier "pppiVar13")) (; ";")) (expression_statement "*(int *****)(iVar4 + 0x120) = ppppiVar15;" (assignment_expression "*(int *****)(iVar4 + 0x120) = ppppiVar15" (pointer_expression "*(int *****)(iVar4 + 0x120)" (* "*") (cast_expression "(int *****)(iVar4 + 0x120)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar4 + 0x120)" (( "(") (binary_expression "iVar4 + 0x120" (identifier "iVar4") (+ "+") (number_literal "0x120")) () ")")))) (= "=") (identifier "ppppiVar15")) (; ";")) (expression_statement "piVar9 = *(int **)(pcVar27 + 0x67358);" (assignment_expression "piVar9 = *(int **)(pcVar27 + 0x67358)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar27 + 0x67358)" (* "*") (cast_expression "(int **)(pcVar27 + 0x67358)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x67358)" (( "(") (binary_expression "pcVar27 + 0x67358" (identifier "pcVar27") (+ "+") (number_literal "0x67358")) () ")"))))) (; ";")) (expression_statement "iVar7 = *piVar9;" (assignment_expression "iVar7 = *piVar9" (identifier "iVar7") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "iStack_dc = iVar7;" (assignment_expression "iStack_dc = iVar7" (identifier "iStack_dc") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "ppiStack_d8 = (int **)pppiVar23;" (assignment_expression "ppiStack_d8 = (int **)pppiVar23" (identifier "ppiStack_d8") (= "=") (cast_expression "(int **)pppiVar23" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pppiVar23"))) (; ";")) (expression_statement "pppiStack_d4 = (int ***)ppppiVar22;" (assignment_expression "pppiStack_d4 = (int ***)ppppiVar22" (identifier "pppiStack_d4") (= "=") (cast_expression "(int ***)ppppiVar22" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar22"))) (; ";")) (expression_statement "ppiStack_d0 = (int **)unaff_s2;" (assignment_expression "ppiStack_d0 = (int **)unaff_s2" (identifier "ppiStack_d0") (= "=") (cast_expression "(int **)unaff_s2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s2"))) (; ";")) (expression_statement "iStack_cc = iVar24;" (assignment_expression "iStack_cc = iVar24" (identifier "iStack_cc") (= "=") (identifier "iVar24")) (; ";")) (expression_statement "pppiStack_c8 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_c8 = (int ***)ppppiVar11" (identifier "pppiStack_c8") (= "=") (cast_expression "(int ***)ppppiVar11" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar11"))) (; ";")) (expression_statement "pcStack_c4 = pcVar28;" (assignment_expression "pcStack_c4 = pcVar28" (identifier "pcStack_c4") (= "=") (identifier "pcVar28")) (; ";")) (if_statement "if (*(int *)(iVar4 + 0x144) == 2) {\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }\n  else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x144) == 2)" (( "(") (binary_expression "*(int *)(iVar4 + 0x144) == 2" (pointer_expression "*(int *)(iVar4 + 0x144)" (* "*") (cast_expression "(int *)(iVar4 + 0x144)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x144)" (( "(") (binary_expression "iVar4 + 0x144" (identifier "iVar4") (+ "+") (number_literal "0x144")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    *(undefined4 *)(iVar4 + 0x148) = 1;\n  }" ({ "{") (expression_statement "*(undefined4 *)(iVar4 + 0x148) = 1;" (assignment_expression "*(undefined4 *)(iVar4 + 0x148) = 1" (pointer_expression "*(undefined4 *)(iVar4 + 0x148)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x148)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x148)" (( "(") (binary_expression "iVar4 + 0x148" (identifier "iVar4") (+ "+") (number_literal "0x148")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" (else "else") (if_statement "if (*(int *)(iVar4 + 0x144) == 3) {\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x144) == 3)" (( "(") (binary_expression "*(int *)(iVar4 + 0x144) == 3" (pointer_expression "*(int *)(iVar4 + 0x144)" (* "*") (cast_expression "(int *)(iVar4 + 0x144)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x144)" (( "(") (binary_expression "iVar4 + 0x144" (identifier "iVar4") (+ "+") (number_literal "0x144")) () ")")))) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n    pppiVar13 = (int ***)0x16;\n    iVar7 = *(int *)(iVar4 + 0x248);\n    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);\n    if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "pppiVar13 = (int ***)0x16;" (assignment_expression "pppiVar13 = (int ***)0x16" (identifier "pppiVar13") (= "=") (cast_expression "(int ***)0x16" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x16"))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar4 + 0x248);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x248)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar4 + 0x248)" (* "*") (cast_expression "(int *)(iVar4 + 0x248)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x248)" (( "(") (binary_expression "iVar4 + 0x248" (identifier "iVar4") (+ "+") (number_literal "0x248")) () ")"))))) (; ";")) (expression_statement "iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);" (assignment_expression "iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcVar27 + 0x668d0))(iVar7,0x16)" (parenthesized_expression "(**(code **)(pcVar27 + 0x668d0))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x668d0)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x668d0)" (* "*") (cast_expression "(code **)(pcVar27 + 0x668d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x668d0)" (( "(") (binary_expression "pcVar27 + 0x668d0" (identifier "pcVar27") (+ "+") (number_literal "0x668d0")) () ")"))))) () ")")) (argument_list "(iVar7,0x16)" (( "(") (identifier "iVar7") (, ",") (number_literal "0x16") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar8 = *(int *)(iVar4 + 0x198);\n      if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }\n    }" ({ "{") (expression_statement "iVar8 = *(int *)(iVar4 + 0x198);" (assignment_expression "iVar8 = *(int *)(iVar4 + 0x198)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar4 + 0x198)" (* "*") (cast_expression "(int *)(iVar4 + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x198)" (( "(") (binary_expression "iVar4 + 0x198" (identifier "iVar4") (+ "+") (number_literal "0x198")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 1) {\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }\n      else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);\n        pppiVar13 = (int ***)0xb;\n        uStack_f0 = 0;\n        uStack_f4 = 0;\n        uStack_fc = 0;\n        iVar7 = iVar4;\n        iStack_108 = iVar8;\n        iStack_100 = iVar8;\n        iStack_f8 = iVar8;\n        FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));\n      }" ({ "{") (expression_statement "uStack_104 = *(undefined4 *)(iVar4 + 0x11c);" (assignment_expression "uStack_104 = *(undefined4 *)(iVar4 + 0x11c)" (identifier "uStack_104") (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x11c)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x11c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x11c)" (( "(") (binary_expression "iVar4 + 0x11c" (identifier "iVar4") (+ "+") (number_literal "0x11c")) () ")"))))) (; ";")) (expression_statement "pppiVar13 = (int ***)0xb;" (assignment_expression "pppiVar13 = (int ***)0xb" (identifier "pppiVar13") (= "=") (cast_expression "(int ***)0xb" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0xb"))) (; ";")) (expression_statement "uStack_f0 = 0;" (assignment_expression "uStack_f0 = 0" (identifier "uStack_f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_f4 = 0;" (assignment_expression "uStack_f4 = 0" (identifier "uStack_f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_fc = 0;" (assignment_expression "uStack_fc = 0" (identifier "uStack_fc") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = iVar4;" (assignment_expression "iVar7 = iVar4" (identifier "iVar7") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iStack_108 = iVar8;" (assignment_expression "iStack_108 = iVar8" (identifier "iStack_108") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "iStack_100 = iVar8;" (assignment_expression "iStack_100 = iVar8" (identifier "iStack_100") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "iStack_f8 = iVar8;" (assignment_expression "iStack_f8 = iVar8" (identifier "iStack_f8") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));" (call_expression "FUN_00048a74(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120))" (identifier "FUN_00048a74") (argument_list "(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120))" (( "(") (identifier "iVar4") (, ",") (number_literal "0xb") (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x120)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x120)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x120)" (( "(") (binary_expression "iVar4 + 0x120" (identifier "iVar4") (+ "+") (number_literal "0x120")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" (else "else") (compound_statement "{\n        iVar7 = *(int *)(iVar4 + 0x128);\n        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);\n        if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }\n      }" ({ "{") (expression_statement "iVar7 = *(int *)(iVar4 + 0x128);" (assignment_expression "iVar7 = *(int *)(iVar4 + 0x128)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar4 + 0x128)" (* "*") (cast_expression "(int *)(iVar4 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x128)" (( "(") (binary_expression "iVar4 + 0x128" (identifier "iVar4") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);" (assignment_expression "pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8)" (identifier "pppiVar13") (= "=") (pointer_expression "*(int ****)(pcStack_e8 + -0x7fc8)" (* "*") (cast_expression "(int ****)(pcStack_e8 + -0x7fc8)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(pcStack_e8 + -0x7fc8)" (( "(") (binary_expression "pcStack_e8 + -0x7fc8" (identifier "pcStack_e8") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (if_statement "if (iVar7 != 0) {\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          ppppiVar11 = (int ****)&ppiStack_e0;\n          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));\n          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));\n          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          ppiStack_e0 = (int **)0x0;\n          FUN_0003a494(unaff_s2,ppppiVar11,4);\n          iVar7 = iVar4;\n          pppiVar13 = unaff_s2;\n          FUN_00045998(iVar4,unaff_s2);\n        }" ({ "{") (expression_statement "ppppiVar11 = (int ****)&ppiStack_e0;" (assignment_expression "ppppiVar11 = (int ****)&ppiStack_e0" (identifier "ppppiVar11") (= "=") (cast_expression "(int ****)&ppiStack_e0" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&ppiStack_e0" (& "&") (identifier "ppiStack_e0")))) (; ";")) (expression_statement "unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);" (assignment_expression "unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" (identifier "unaff_s2") (= "=") (cast_expression "(int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0)" (identifier "FUN_0003b920") (argument_list "(iVar7,pppiVar13 + 0x1235,0,0)" (( "(") (identifier "iVar7") (, ",") (binary_expression "pppiVar13 + 0x1235" (identifier "pppiVar13") (+ "+") (number_literal "0x1235")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));" (call_expression "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c))" (identifier "FUN_0003a76c") (argument_list "(unaff_s2,*(undefined4 *)(iVar4 + 0x11c))" (( "(") (identifier "unaff_s2") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x11c)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x11c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x11c)" (( "(") (binary_expression "iVar4 + 0x11c" (identifier "iVar4") (+ "+") (number_literal "0x11c")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));" (call_expression "FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120))" (identifier "FUN_0003a76c") (argument_list "(unaff_s2,*(undefined4 *)(iVar4 + 0x120))" (( "(") (identifier "unaff_s2") (, ",") (pointer_expression "*(undefined4 *)(iVar4 + 0x120)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x120)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x120)" (( "(") (binary_expression "iVar4 + 0x120" (identifier "iVar4") (+ "+") (number_literal "0x120")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;" (assignment_expression "iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c" (identifier "iVar24") (= "=") (binary_expression "*(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c" (pointer_expression "*(int *)(pcStack_e8 + -0x7b0c)" (* "*") (cast_expression "(int *)(pcStack_e8 + -0x7b0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_e8 + -0x7b0c)" (( "(") (binary_expression "pcStack_e8 + -0x7b0c" (identifier "pcStack_e8") (+ "+") (number_literal "-0x7b0c")) () ")")))) (+ "+") (number_literal "-0x5b6c"))) (; ";")) (expression_statement "ppiStack_e0 = (int **)0x0;" (assignment_expression "ppiStack_e0 = (int **)0x0" (identifier "ppiStack_e0") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003a494(unaff_s2,ppppiVar11,4);" (call_expression "FUN_0003a494(unaff_s2,ppppiVar11,4)" (identifier "FUN_0003a494") (argument_list "(unaff_s2,ppppiVar11,4)" (( "(") (identifier "unaff_s2") (, ",") (identifier "ppppiVar11") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "ppiStack_e0 = (int **)0x0;" (assignment_expression "ppiStack_e0 = (int **)0x0" (identifier "ppiStack_e0") (= "=") (cast_expression "(int **)0x0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003a494(unaff_s2,ppppiVar11,4);" (call_expression "FUN_0003a494(unaff_s2,ppppiVar11,4)" (identifier "FUN_0003a494") (argument_list "(unaff_s2,ppppiVar11,4)" (( "(") (identifier "unaff_s2") (, ",") (identifier "ppppiVar11") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar7 = iVar4;" (assignment_expression "iVar7 = iVar4" (identifier "iVar7") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "pppiVar13 = unaff_s2;" (assignment_expression "pppiVar13 = unaff_s2" (identifier "pppiVar13") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "FUN_00045998(iVar4,unaff_s2);" (call_expression "FUN_00045998(iVar4,unaff_s2)" (identifier "FUN_00045998") (argument_list "(iVar4,unaff_s2)" (( "(") (identifier "iVar4") (, ",") (identifier "unaff_s2") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}"))))) (if_statement "if (iStack_dc == *piVar9) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_dc == *piVar9)" (( "(") (binary_expression "iStack_dc == *piVar9" (identifier "iStack_dc") (== "==") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar27 = *(code **)(pcStack_e8 + -0x74e0);" (assignment_expression "pcVar27 = *(code **)(pcStack_e8 + -0x74e0)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(pcStack_e8 + -0x74e0)" (* "*") (cast_expression "(code **)(pcStack_e8 + -0x74e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e8 + -0x74e0)" (( "(") (binary_expression "pcStack_e8 + -0x74e0" (identifier "pcStack_e8") (+ "+") (number_literal "-0x74e0")) () ")"))))) (; ";")) (expression_statement "uVar5 = 0x49af8;" (assignment_expression "uVar5 = 0x49af8" (identifier "uVar5") (= "=") (number_literal "0x49af8")) (; ";")) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar25 = *(int **)(pcVar27 + 0x671a4);" (assignment_expression "piVar25 = *(int **)(pcVar27 + 0x671a4)" (identifier "piVar25") (= "=") (pointer_expression "*(int **)(pcVar27 + 0x671a4)" (* "*") (cast_expression "(int **)(pcVar27 + 0x671a4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x671a4)" (( "(") (binary_expression "pcVar27 + 0x671a4" (identifier "pcVar27") (+ "+") (number_literal "0x671a4")) () ")"))))) (; ";")) (expression_statement "iStack_13c = *piVar25;" (assignment_expression "iStack_13c = *piVar25" (identifier "iStack_13c") (= "=") (pointer_expression "*piVar25" (* "*") (identifier "piVar25"))) (; ";")) (expression_statement "iStack_138 = iVar4;" (assignment_expression "iStack_138 = iVar4" (identifier "iStack_138") (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piStack_134 = piVar9;" (assignment_expression "piStack_134 = piVar9" (identifier "piStack_134") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "ppiStack_130 = (int **)unaff_s2;" (assignment_expression "ppiStack_130 = (int **)unaff_s2" (identifier "ppiStack_130") (= "=") (cast_expression "(int **)unaff_s2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s2"))) (; ";")) (expression_statement "iStack_12c = iVar24;" (assignment_expression "iStack_12c = iVar24" (identifier "iStack_12c") (= "=") (identifier "iVar24")) (; ";")) (expression_statement "pppiStack_128 = (int ***)ppppiVar11;" (assignment_expression "pppiStack_128 = (int ***)ppppiVar11" (identifier "pppiStack_128") (= "=") (cast_expression "(int ***)ppppiVar11" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar11"))) (; ";")) (expression_statement "pppiStack_124 = (int ***)ppppiVar20;" (assignment_expression "pppiStack_124 = (int ***)ppppiVar20" (identifier "pppiStack_124") (= "=") (cast_expression "(int ***)ppppiVar20" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "ppppiVar20"))) (; ";")) (expression_statement "iStack_120 = iVar19;" (assignment_expression "iStack_120 = iVar19" (identifier "iStack_120") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "uStack_11c = uVar5;" (assignment_expression "uStack_11c = uVar5" (identifier "uStack_11c") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar24 = FUN_00036188(pppiVar13);" (assignment_expression "iVar24 = FUN_00036188(pppiVar13)" (identifier "iVar24") (= "=") (call_expression "FUN_00036188(pppiVar13)" (identifier "FUN_00036188") (argument_list "(pppiVar13)" (( "(") (identifier "pppiVar13") () ")")))) (; ";")) (expression_statement "FUN_00036ca4();" (call_expression "FUN_00036ca4()" (identifier "FUN_00036ca4") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar5 = FUN_00036188(pppiVar13);" (assignment_expression "uVar5 = FUN_00036188(pppiVar13)" (identifier "uVar5") (= "=") (call_expression "FUN_00036188(pppiVar13)" (identifier "FUN_00036188") (argument_list "(pppiVar13)" (( "(") (identifier "pppiVar13") () ")")))) (; ";")) (if_statement "if (iStack_15c == 0) {\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }" (if "if") (parenthesized_expression "(iStack_15c == 0)" (( "(") (binary_expression "iStack_15c == 0" (identifier "iStack_15c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;\n  }" ({ "{") (expression_statement "iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;" (assignment_expression "iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54" (identifier "iStack_15c") (= "=") (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x2d54" (pointer_expression "*(int *)(pcVar27 + 0x66690)" (* "*") (cast_expression "(int *)(pcVar27 + 0x66690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x66690)" (( "(") (binary_expression "pcVar27 + 0x66690" (identifier "pcVar27") (+ "+") (number_literal "0x66690")) () ")")))) (+ "+") (number_literal "0x2d54"))) (; ";")) (} "}"))) (expression_statement "iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);" (assignment_expression "iStack_14c = (**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" (identifier "iStack_14c") (= "=") (call_expression "(**(code **)(pcVar27 + 0x666ec))\n                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666ec))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x666ec)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x666ec)" (* "*") (cast_expression "(code **)(pcVar27 + 0x666ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x666ec)" (( "(") (binary_expression "pcVar27 + 0x666ec" (identifier "pcVar27") (+ "+") (number_literal "0x666ec")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c)" (( "(") (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x3218" (pointer_expression "*(int *)(pcVar27 + 0x66690)" (* "*") (cast_expression "(int *)(pcVar27 + 0x66690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x66690)" (( "(") (binary_expression "pcVar27 + 0x66690" (identifier "pcVar27") (+ "+") (number_literal "0x66690")) () ")")))) (+ "+") (number_literal "0x3218")) (, ",") (identifier "uStack_160") (, ",") (identifier "iStack_15c") () ")")))) (; ";")) (expression_statement "uStack_154 = uVar5;" (assignment_expression "uStack_154 = uVar5" (identifier "uStack_154") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" (parenthesized_expression "(**(code **)(pcVar27 + 0x667c0))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x667c0)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x667c0)" (* "*") (cast_expression "(code **)(pcVar27 + 0x667c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x667c0)" (( "(") (binary_expression "pcVar27 + 0x667c0" (identifier "pcVar27") (+ "+") (number_literal "0x667c0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar7 + 0x13c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x13c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x13c)" (( "(") (binary_expression "iVar7 + 0x13c" (identifier "iVar7") (+ "+") (number_literal "0x13c")) () ")")))) (, ",") (identifier "auStack_158") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }\n  else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);\n  }" ({ "{") (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5)" (identifier "FUN_00036288") (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5)" (( "(") (identifier "iVar7") (, ",") (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x48e4" (pointer_expression "*(int *)(pcVar27 + 0x66690)" (* "*") (cast_expression "(int *)(pcVar27 + 0x66690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x66690)" (( "(") (binary_expression "pcVar27 + 0x66690" (identifier "pcVar27") (+ "+") (number_literal "0x66690")) () ")")))) (+ "+") (number_literal "0x48e4")) (, ",") (identifier "iStack_14c") (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" (else "else") (compound_statement "{\n    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);\n    *piVar9 = iVar7;\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);\n    iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));\n    if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }\n    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(iVar4);\n    (**(code **)(pcVar27 + 0x666b8))(piVar9);\n  }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar27 + 0x666f0))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666f0))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x666f0)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x666f0)" (* "*") (cast_expression "(code **)(pcVar27 + 0x666f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x666f0)" (( "(") (binary_expression "pcVar27 + 0x666f0" (identifier "pcVar27") (+ "+") (number_literal "0x666f0")) () ")"))))) () ")")) (argument_list "(1,0x5c)" (( "(") (number_literal "1") (, ",") (number_literal "0x5c") () ")"))))) (; ";")) (expression_statement "*piVar9 = iVar7;" (assignment_expression "*piVar9 = iVar7" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5)" (identifier "FUN_00036288") (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5)" (( "(") (identifier "iVar7") (, ",") (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x4910" (pointer_expression "*(int *)(pcVar27 + 0x66690)" (* "*") (cast_expression "(int *)(pcVar27 + 0x66690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x66690)" (( "(") (binary_expression "pcVar27 + 0x66690" (identifier "pcVar27") (+ "+") (number_literal "0x66690")) () ")")))) (+ "+") (number_literal "0x4910")) (, ",") (identifier "iStack_14c") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar27 + 0x66cac))\n                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" (parenthesized_expression "(**(code **)(pcVar27 + 0x66cac))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x66cac)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x66cac)" (* "*") (cast_expression "(code **)(pcVar27 + 0x66cac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x66cac)" (( "(") (binary_expression "pcVar27 + 0x66cac" (identifier "pcVar27") (+ "+") (number_literal "0x66cac")) () ")"))))) () ")")) (argument_list "(piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),\n                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24))" (( "(") (binary_expression "piVar9 + 0x13" (identifier "piVar9") (+ "+") (number_literal "0x13")) (, ",") (identifier "iStack_14c") (, ",") (identifier "uVar5") (, ",") (identifier "piVar9") (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x248)" (( "(") (binary_expression "iVar7 + 0x248" (identifier "iVar7") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar4 + 0x18) + 0x24)" (( "(") (binary_expression "*(int *)(iVar4 + 0x18) + 0x24" (pointer_expression "*(int *)(iVar4 + 0x18)" (* "*") (cast_expression "(int *)(iVar4 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x18)" (( "(") (binary_expression "iVar4 + 0x18" (identifier "iVar4") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0003d798(piVar9);\n      piVar9[3] = 3;\n      piVar9[1] = iVar24;\n      piVar9[4] = 0;\n      FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);\n      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;\n      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);\n      goto LAB_00049cac;\n    }" ({ "{") (expression_statement "FUN_0003d798(piVar9);" (call_expression "FUN_0003d798(piVar9)" (identifier "FUN_0003d798") (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")"))) (; ";")) (expression_statement "piVar9[3] = 3;" (assignment_expression "piVar9[3] = 3" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "piVar9[1] = iVar24;" (assignment_expression "piVar9[1] = iVar24" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar24")) (; ";")) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0);" (call_expression "FUN_00048a74(iVar7,0x15,1,iVar24,1,piVar9[2],0)" (identifier "FUN_00048a74") (argument_list "(iVar7,0x15,1,iVar24,1,piVar9[2],0)" (( "(") (identifier "iVar7") (, ",") (number_literal "0x15") (, ",") (number_literal "1") (, ",") (identifier "iVar24") (, ",") (number_literal "1") (, ",") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;" (assignment_expression "iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8" (identifier "iVar4") (= "=") (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x41e8" (pointer_expression "*(int *)(pcVar27 + 0x66690)" (* "*") (cast_expression "(int *)(pcVar27 + 0x66690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x66690)" (( "(") (binary_expression "pcVar27 + 0x66690" (identifier "pcVar27") (+ "+") (number_literal "0x66690")) () ")")))) (+ "+") (number_literal "0x41e8"))) (; ";")) (expression_statement "(**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);" (call_expression "(**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66714))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x66714)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x66714)" (* "*") (cast_expression "(code **)(pcVar27 + 0x66714)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x66714)" (( "(") (binary_expression "pcVar27 + 0x66714" (identifier "pcVar27") (+ "+") (number_literal "0x66714")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar7 + 0x110),iVar4)" (( "(") (pointer_expression "*(undefined4 *)(iVar7 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x110)" (( "(") (binary_expression "iVar7 + 0x110" (identifier "iVar7") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (identifier "iVar4") () ")"))) (; ";")) (goto_statement "goto LAB_00049cac;" (goto "goto") (statement_identifier "LAB_00049cac") (; ";")) (} "}"))) (expression_statement "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);" (call_expression "FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4)" (identifier "FUN_00036288") (argument_list "(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4)" (( "(") (identifier "iVar7") (, ",") (binary_expression "*(int *)(pcVar27 + 0x66690) + 0x41d0" (pointer_expression "*(int *)(pcVar27 + 0x66690)" (* "*") (cast_expression "(int *)(pcVar27 + 0x66690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x66690)" (( "(") (binary_expression "pcVar27 + 0x66690" (identifier "pcVar27") (+ "+") (number_literal "0x66690")) () ")")))) (+ "+") (number_literal "0x41d0")) (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar27 + 0x666b8))(iVar4);" (call_expression "(**(code **)(pcVar27 + 0x666b8))(iVar4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x666b8)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x666b8)" (* "*") (cast_expression "(code **)(pcVar27 + 0x666b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x666b8)" (( "(") (binary_expression "pcVar27 + 0x666b8" (identifier "pcVar27") (+ "+") (number_literal "0x666b8")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar27 + 0x666b8))(piVar9);" (call_expression "(**(code **)(pcVar27 + 0x666b8))(piVar9)" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x666b8)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x666b8)" (* "*") (cast_expression "(code **)(pcVar27 + 0x666b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x666b8)" (( "(") (binary_expression "pcVar27 + 0x666b8" (identifier "pcVar27") (+ "+") (number_literal "0x666b8")) () ")"))))) () ")")) (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar4 = 0x16;" (assignment_expression "iVar4 = 0x16" (identifier "iVar4") (= "=") (number_literal "0x16")) (; ";")) (expression_statement "FUN_00048a74(iVar7,0x16,1,iVar24,0);" (call_expression "FUN_00048a74(iVar7,0x16,1,iVar24,0)" (identifier "FUN_00048a74") (argument_list "(iVar7,0x16,1,iVar24,0)" (( "(") (identifier "iVar7") (, ",") (number_literal "0x16") (, ",") (number_literal "1") (, ",") (identifier "iVar24") (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_00049cac:\n  iVar24 = iStack_14c;" (statement_identifier "LAB_00049cac") (: ":") (expression_statement "iVar24 = iStack_14c;" (assignment_expression "iVar24 = iStack_14c" (identifier "iVar24") (= "=") (identifier "iStack_14c")) (; ";"))) (expression_statement "(**(code **)(pcVar27 + 0x666b8))();" (call_expression "(**(code **)(pcVar27 + 0x666b8))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x666b8))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x666b8)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x666b8)" (* "*") (cast_expression "(code **)(pcVar27 + 0x666b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x666b8)" (( "(") (binary_expression "pcVar27 + 0x666b8" (identifier "pcVar27") (+ "+") (number_literal "0x666b8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iStack_13c == *piVar25) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_13c == *piVar25)" (( "(") (binary_expression "iStack_13c == *piVar25" (identifier "iStack_13c") (== "==") (pointer_expression "*piVar25" (* "*") (identifier "piVar25"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x67178);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x67178)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(pcVar27 + 0x67178)" (* "*") (cast_expression "(code **)(pcVar27 + 0x67178)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x67178)" (( "(") (binary_expression "pcVar27 + 0x67178" (identifier "pcVar27") (+ "+") (number_literal "0x67178")) () ")"))))) (; ";")) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = FUN_00036188(iVar4);" (assignment_expression "iVar4 = FUN_00036188(iVar4)" (identifier "iVar4") (= "=") (call_expression "FUN_00036188(iVar4)" (identifier "FUN_00036188") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x66468)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x66468)" (* "*") (cast_expression "(code **)(pcVar27 + 0x66468)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x66468)" (( "(") (binary_expression "pcVar27 + 0x66468" (identifier "pcVar27") (+ "+") (number_literal "0x66468")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x110)" (( "(") (binary_expression "iVar24 + 0x110" (identifier "iVar24") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x493c" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" (* "*") (cast_expression "(int *)(pcVar27 + 0x663e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x663e4)" (( "(") (binary_expression "pcVar27 + 0x663e4" (identifier "pcVar27") (+ "+") (number_literal "0x663e4")) () ")")))) (+ "+") (number_literal "0x493c")) () ")"))) (; ";")) (if_statement "if (*(int *)(iVar24 + 0x4c) == 0) {\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar24 + 0x4c) == 0)" (( "(") (binary_expression "*(int *)(iVar24 + 0x4c) == 0" (pointer_expression "*(int *)(iVar24 + 0x4c)" (* "*") (cast_expression "(int *)(iVar24 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x4c)" (( "(") (binary_expression "iVar24 + 0x4c" (identifier "iVar24") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00048a74(iVar24,0x16,1,iVar4,0);\n                    \n                    \n    (**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);\n    return;\n  }" ({ "{") (expression_statement "FUN_00048a74(iVar24,0x16,1,iVar4,0);" (call_expression "FUN_00048a74(iVar24,0x16,1,iVar4,0)" (identifier "FUN_00048a74") (argument_list "(iVar24,0x16,1,iVar4,0)" (( "(") (identifier "iVar24") (, ",") (number_literal "0x16") (, ",") (number_literal "1") (, ",") (identifier "iVar4") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x66468)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x66468)" (* "*") (cast_expression "(code **)(pcVar27 + 0x66468)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x66468)" (( "(") (binary_expression "pcVar27 + 0x66468" (identifier "pcVar27") (+ "+") (number_literal "0x66468")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x110)" (( "(") (binary_expression "iVar24 + 0x110" (identifier "iVar24") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x495c" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" (* "*") (cast_expression "(int *)(pcVar27 + 0x663e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x663e4)" (( "(") (binary_expression "pcVar27 + 0x663e4" (identifier "pcVar27") (+ "+") (number_literal "0x663e4")) () ")")))) (+ "+") (number_literal "0x495c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c)" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar27 + 0x66444))(1,0x5c)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66444))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x66444)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x66444)" (* "*") (cast_expression "(code **)(pcVar27 + 0x66444)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x66444)" (( "(") (binary_expression "pcVar27 + 0x66444" (identifier "pcVar27") (+ "+") (number_literal "0x66444")) () ")"))))) () ")")) (argument_list "(1,0x5c)" (( "(") (number_literal "1") (, ",") (number_literal "0x5c") () ")"))))) (; ";")) (expression_statement "*piVar9 = iVar24;" (assignment_expression "*piVar9 = iVar24" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (identifier "iVar24")) (; ";")) (expression_statement "FUN_0003d798(piVar9);" (call_expression "FUN_0003d798(piVar9)" (identifier "FUN_0003d798") (argument_list "(piVar9)" (( "(") (identifier "piVar9") () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);" (assignment_expression "iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar27 + 0x669fc))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x669fc)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x669fc)" (* "*") (cast_expression "(code **)(pcVar27 + 0x669fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x669fc)" (( "(") (binary_expression "pcVar27 + 0x669fc" (identifier "pcVar27") (+ "+") (number_literal "0x669fc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x194)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x194)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x194)" (( "(") (binary_expression "iVar24 + 0x194" (identifier "iVar24") (+ "+") (number_literal "0x194")) () ")")))) (, ",") (identifier "piVar9") (, ",") (number_literal "0") (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (expression_statement "piVar9[0x13] = iVar19;" (assignment_expression "piVar9[0x13] = iVar19" (subscript_expression "piVar9[0x13]" (identifier "piVar9") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar9[1] = iVar4;" (assignment_expression "piVar9[1] = iVar4" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[3] = 1;" (assignment_expression "piVar9[3] = 1" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0);" (call_expression "FUN_00048a74(iVar24,0x15,1,iVar4,1,piVar9[2],0)" (identifier "FUN_00048a74") (argument_list "(iVar24,0x15,1,iVar4,1,piVar9[2],0)" (( "(") (identifier "iVar24") (, ",") (number_literal "0x15") (, ",") (number_literal "1") (, ",") (identifier "iVar4") (, ",") (number_literal "1") (, ",") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);" (call_expression "(**(code **)(pcVar27 + 0x66468))\n            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240)" (parenthesized_expression "(**(code **)(pcVar27 + 0x66468))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x66468)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x66468)" (* "*") (cast_expression "(code **)(pcVar27 + 0x66468)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x66468)" (( "(") (binary_expression "pcVar27 + 0x66468" (identifier "pcVar27") (+ "+") (number_literal "0x66468")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240)" (( "(") (pointer_expression "*(undefined4 *)(iVar24 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar24 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x110)" (( "(") (binary_expression "iVar24 + 0x110" (identifier "iVar24") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(pcVar27 + 0x663e4) + 0x4240" (pointer_expression "*(int *)(pcVar27 + 0x663e4)" (* "*") (cast_expression "(int *)(pcVar27 + 0x663e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x663e4)" (( "(") (binary_expression "pcVar27 + 0x663e4" (identifier "pcVar27") (+ "+") (number_literal "0x663e4")) () ")")))) (+ "+") (number_literal "0x4240")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(type_1 ssh,int pkttype,...)

{
  bool bVar1;
  bool bVar2;
  type_2 *puVar3;
  int var_3;
  type_3 *pPVar5;
  int *var_29;
  type_4 *var_6;
  int var_10;
  int var_13;
  int var_12;
  int var_19;
  int var_17;
  int var_9;
  type_4 uVar14;
  int var_11;
  int var_14;
  int *var_15;
  int *var_16;
  int *var_24;
  type_5 var_30;
  type_6 uVar21;
  type_6 uVar22;
  type_7 *psVar23;
  type_8 *pbVar24;
  type_1 psVar25;
  type_9 *var_5;
  type_1 var_31;
  type_3 *pkt;
  type_10 in_a2;
  type_11 *pnVar27;
  type_11 *pnVar28;
  type_4 in_a3;
  type_11 *pnVar29;
  type_11 *pnVar30;
  type_3 *pPVar31;
  char *var_18;
  type_12 var_8;
  type_12 var_7;
  type_2 *var_4;
  type_13 *var_28;
  type_13 *pcVar36;
  type_10 local_res8;
  type_4 local_resc;
  int iStack_160;
  char *var_34;
  type_14 auStack_158 [4];
  type_6 uStack_154;
  type_1 psStack_14c;
  int var_36;
  type_9 *ptStack_138;
  int *piStack_134;
  type_12 uStack_130;
  type_1 psStack_12c;
  type_4 uStack_128;
  int *piStack_124;
  int iStack_120;
  type_13 *pcStack_11c;
  type_13 *pcStack_e8;
  type_1 psStack_dc;
  type_3 *pPStack_d8;
  type_11 *pnStack_d4;
  type_12 uStack_d0;
  type_1 psStack_cc;
  type_4 uStack_c8;
  type_13 *pcStack_c4;
  int var_23;
  type_14 uStack_61;
  type_11 *pnStack_60;
  int var_27;
  type_2 *puStack_58;
  type_1 psStack_54;
  type_10 ap;
  
  puVar3 = PTR___stack_chk_guard_000b0c9c;
  var_3 = *(int *)PTR___stack_chk_guard_000b0c9c;
  local_res8 = in_a2;
  local_resc = in_a3;
  pPVar5 = var_1((type_1)pkttype,(int)&local_res8,in_a2);
  psVar25 = ssh;
  var_2(ssh,pPVar5);
  if (var_3 == *(int *)puVar3) {
    return;
  }
  var_4 = PTR___stack_chk_fail_000b0c70;
  (*(type_13 *)PTR___stack_chk_fail_000b0c70)();
  var_29 = *(int **)(var_4 + 0x68184);
  puStack_58 = puVar3;
  var_27 = *var_29;
  var_5 = psVar25->portfwds;
  var_3 = 0;
  psStack_54 = ssh;
  if (var_5 == (type_9 *)0x0) {
    var_5 = (type_9 *)(**(type_13 **)(var_4 + 0x67784))(*(int *)(var_4 + 0x67b2c) + -0x2c58);
    psVar25->portfwds = var_5;
  }
  else {
    var_28 = *(type_13 **)(var_4 + 0x67790);
    while (var_6 = (type_4 *)(*var_28)(var_5,var_3), var_6 != (type_4 *)0x0) {
      var_3 = var_3 + 1;
      var_5 = psVar25->portfwds;
      *var_6 = 0;
      var_28 = *(type_13 **)(var_4 + 0x67790);
    }
  }
  pnVar27 = (type_11 *)0x0;
  var_3 = (**(type_13 **)(var_4 + 0x67a50))(pPVar5,0x9b,0,&pnStack_60);
  if (var_3 != 0) {
    var_10 = *(int *)(var_4 + 0x67670);
    var_13 = *(int *)(var_4 + 0x67670);
    var_12 = *(int *)(var_4 + 0x679ac);
    var_19 = *(int *)(var_4 + 0x67670);
    var_17 = *(int *)(var_4 + 0x67670);
    do {
      var_7 = (type_12)*(char *)&pnStack_60->parent;
      if ((var_7 == 0x41) || ((var_7 & 0xfffffffd) == 0x34)) {
        var_8 = (type_12)*(char *)((int)&pnStack_60->parent + 1);
        pnVar27 = (type_11 *)((int)&pnStack_60->parent + 1);
        if (var_8 != 0x4c) goto LAB_00048d5c;
LAB_00048e9c:
        pnVar27 = (type_11 *)((int)&pnVar27->parent + 1);
      }
      else {
        bVar1 = var_7 == 0x4c;
        pnVar27 = pnStack_60;
        var_8 = var_7;
        var_7 = 0x41;
        if (bVar1) goto LAB_00048e9c;
LAB_00048d5c:
        if (var_8 == 0x52) goto LAB_00048e9c;
        var_8 = 0x4c;
      }
      var_9 = (**(type_13 **)(var_4 + 0x67760))(pnVar27,0x3a);
      pnVar30 = pnVar27;
      if (var_9 != 0) {
        pnVar30 = (type_11 *)(var_9 + 1);
        uVar14 = (**(type_13 **)(var_4 + 0x676cc))(var_10 + 0x3218,var_9 - (int)pnVar27,pnVar27);
        var_9 = (**(type_13 **)(var_4 + 0x67b18))(uVar14);
        (**(type_13 **)(var_4 + 0x67698))(uVar14);
      }
      var_11 = (**(type_13 **)(var_4 + 0x67fd0))(pnVar30,0,10);
      if (var_11 == 0) {
        var_11 = (**(type_13 **)(var_4 + 0x67c9c))(pnVar30);
        if (var_11 == 0) {
          (*(type_13 *)(var_12 + 0x6288))(psVar25,var_13 + 0x4734,pnVar30);
          bVar1 = true;
        }
        else {
          bVar1 = true;
        }
      }
      else {
        bVar1 = false;
      }
      if ((var_8 == 0x4c) &&
         (var_14 = (**(type_13 **)(var_4 + 0x681c0))(var_3,*(int *)(var_4 + 0x67670) + 0x2e20),
         var_14 == 0)) {
        if (var_11 == 0) {
          var_3 = 0;
LAB_00048e64:
          (**(type_13 **)(var_4 + 0x67698))(var_9);
          (**(type_13 **)(var_4 + 0x67698))(var_3);
        }
        else {
          var_15 = (int *)(**(type_13 **)(var_4 + 0x676d0))(1,0x2c);
          var_15[4] = var_9;
          var_15[1] = 0x44;
          var_14 = -1;
          if (bVar1) {
            var_3 = 0;
            var_18 = (char *)0x0;
            bVar2 = false;
LAB_00049780:
            var_9 = (**(type_13 **)(var_4 + 0x676d8))(pnVar30);
            var_15[6] = var_9;
            var_15[2] = var_11;
            var_15[5] = var_3;
            goto joined_r0x000497a8;
          }
          var_15[6] = 0;
          var_3 = 0;
          var_15[2] = var_11;
          var_15[5] = 0;
LAB_00048c68:
          var_15[7] = var_3;
          var_15[3] = var_14;
          var_15[10] = 0;
          var_15[8] = 0;
          if (var_7 != 0x34) goto LAB_00048c80;
LAB_00048f4c:
          var_28 = *(type_13 **)(var_4 + 0x6777c);
          var_5 = psVar25->portfwds;
          var_15[9] = 1;
          var_16 = (int *)(*var_28)(var_5,var_15);
          if (var_15 != var_16) goto LAB_00048cac;
LAB_00048f6c:
          *var_15 = 2;
        }
      }
      else {
        var_14 = (**(type_13 **)(var_4 + 0x678e8))(var_3,var_17 + 0x28a0);
        var_18 = (char *)(var_3 + var_14);
        var_3 = (**(type_13 **)(var_4 + 0x676cc))(var_10 + 0x3218,var_14,var_3);
        if (*var_18 != '\0') {
          var_18 = var_18 + 1;
        }
        var_14 = (**(type_13 **)(var_4 + 0x67fd0))(var_18,0,10);
        if (var_14 == 0) {
          var_14 = (**(type_13 **)(var_4 + 0x67c9c))(var_18);
          if (var_14 == 0) {
            (*(type_13 *)(var_12 + 0x6288))(psVar25,var_19 + 0x4760,var_18);
            goto LAB_00048e64;
          }
          bVar2 = true;
        }
        else {
          bVar2 = false;
        }
        if (var_11 == 0) goto LAB_00048e64;
        var_15 = (int *)(**(type_13 **)(var_4 + 0x676d0))(1,0x2c);
        var_15[1] = var_8;
        var_15[4] = var_9;
        if (bVar1) goto LAB_00049780;
        var_15[2] = var_11;
        var_15[5] = var_3;
        var_15[6] = 0;
joined_r0x000497a8:
        if (bVar2) {
          var_3 = (**(type_13 **)(var_4 + 0x676d8))(var_18);
          goto LAB_00048c68;
        }
        var_15[3] = var_14;
        var_15[10] = 0;
        var_15[7] = 0;
        var_15[8] = 0;
        if (var_7 == 0x34) goto LAB_00048f4c;
LAB_00048c80:
        var_3 = 2;
        var_28 = *(type_13 **)(var_4 + 0x6777c);
        var_5 = psVar25->portfwds;
        if (var_7 != 0x36) {
          var_3 = 0;
        }
        var_15[9] = var_3;
        var_16 = (int *)(*var_28)(var_5,var_15);
        if (var_15 == var_16) goto LAB_00048f6c;
LAB_00048cac:
        var_28 = *(type_13 **)(var_4 + 0x67698);
        if (*var_16 == 0) {
          *var_16 = 1;
        }
        (*var_28)(var_15[4]);
        (**(type_13 **)(var_4 + 0x67698))(var_15[5]);
        (**(type_13 **)(var_4 + 0x67698))(var_15[6]);
        (**(type_13 **)(var_4 + 0x67698))(var_15[7]);
        (**(type_13 **)(var_4 + 0x67698))(var_15);
      }
      pnVar27 = pnStack_60;
      var_3 = (**(type_13 **)(var_4 + 0x67a50))(pPVar5,0x9b,pnStack_60,&pnStack_60);
    } while (var_3 != 0);
  }
  var_10 = *(int *)(var_4 + 0x67b2c);
  var_3 = 0;
  var_19 = *(int *)(var_4 + 0x67670);
  var_12 = *(int *)(var_4 + 0x67670);
  var_13 = *(int *)(var_4 + 0x67b2c);
  do {
    var_15 = (int *)(**(type_13 **)(var_4 + 0x67790))(psVar25->portfwds,var_3);
    while( true ) {
      if (var_15 == (int *)0x0) {
        var_3 = *(int *)(var_4 + 0x67670);
        pPVar31 = (type_3 *)0x0;
        var_15 = *(int **)(var_4 + 0x679ac);
        pkt = (type_3 *)0x0;
        var_5 = psVar25->portfwds;
        var_10 = *(int *)(var_4 + 0x67670);
        var_28 = (type_13 *)(var_15 + 0x18a2);
        pnVar30 = (type_11 *)(*(int *)(var_4 + 0x67670) + 0x2d54);
        var_16 = (int *)(**(type_13 **)(var_4 + 0x67790))();
        uVar14 = 0;
        goto joined_r0x0004902c;
      }
      if (*var_15 == 0) break;
      var_3 = var_3 + 1;
      var_15 = (int *)(**(type_13 **)(var_4 + 0x67790))(psVar25->portfwds,var_3);
    }
    if (var_15[1] == 0x4c) {
      var_9 = var_15[4];
      var_17 = *(int *)(var_4 + 0x67670) + 0x4708;
      if (var_9 == 0) goto LAB_0004942c;
LAB_00049258:
      var_11 = *(int *)(var_4 + 0x67670) + 0x28a0;
    }
    else {
      if (var_15[1] == 0x52) {
        var_17 = *(int *)(var_4 + 0x67670) + 0x4710;
      }
      else {
        var_17 = *(int *)(var_4 + 0x67670) + 0x4718;
      }
      var_9 = var_15[4];
      if (var_9 != 0) goto LAB_00049258;
LAB_0004942c:
      var_9 = *(int *)(var_4 + 0x67670) + 0x2d54;
      var_11 = var_9;
    }
    pnVar27 = (type_11 *)
              (**(type_13 **)(var_4 + 0x676cc))(var_19 + 0x4790,var_17,var_9,var_11);
    pnVar30 = pnVar27;
    if (var_15[1] != 0x44) {
      pnVar30 = (type_11 *)
                (**(type_13 **)(var_4 + 0x676cc))
                          (*(int *)(var_4 + 0x67670) + 0x47b0,pnVar27,var_15[5],var_15[3]);
      (**(type_13 **)(var_4 + 0x67698))(pnVar27);
    }
    pnVar27 = pnVar30;
    var_20(psVar25,(char *)(var_12 + 0x47bc));
    (**(type_13 **)(var_4 + 0x67698))(pnVar30);
    var_17 = var_15[8];
    if (var_17 == 0) {
      if (var_15[10] != 0) {
        (**(type_13 **)(var_4 + 0x6786c))();
      }
    }
    else {
      if (psVar25->version != 1) {
        pPVar5 = (type_3 *)(*(type_13 *)(var_13 + -0x5a14))(0x50);
        var_21(pPVar5,(char *)(*(int *)(var_4 + 0x67670) + 0x47cc));
                    /* WARNING: Subroutine does not return */
        uStack_61 = 0;
        var_22(pPVar5,&uStack_61,1);
      }
      (**(type_13 **)(var_4 + 0x67780))(psVar25->rportfwds,var_17);
      (*(type_13 *)(var_10 + -0x63f8))(var_17);
    }
    (**(type_13 **)(var_4 + 0x67778))(psVar25->portfwds,var_3);
    (**(type_13 **)(var_4 + 0x67698))(var_15[4]);
    (**(type_13 **)(var_4 + 0x67698))(var_15[5]);
    (**(type_13 **)(var_4 + 0x67698))(var_15[6]);
    (**(type_13 **)(var_4 + 0x67698))(var_15[7]);
    (**(type_13 **)(var_4 + 0x67698))(var_15);
  } while( true );
joined_r0x0004902c:
  if (var_16 == (int *)0x0) goto LAB_00049064;
  if (*var_16 == 2) {
    pnVar27 = pnVar30;
    pnVar28 = pnVar30;
    if ((type_11 *)var_16[4] != (type_11 *)0x0) {
      pnVar27 = (type_11 *)var_16[4];
      pnVar28 = (type_11 *)(*(int *)(var_4 + 0x67670) + 0x28a0);
    }
    pnVar29 = pnVar30;
    if ((type_11 *)var_16[6] != (type_11 *)0x0) {
      pnVar29 = (type_11 *)var_16[6];
    }
    var_8 = (**(type_13 **)(var_4 + 0x676cc))(var_10 + 0x47f0,pnVar27,pnVar28,pnVar29);
    pnVar27 = pnVar30;
    if (var_16[1] == 0x44) {
      uVar14 = 0;
LAB_0004945c:
      var_23 = (**(type_13 **)(var_4 + 0x67ca0))(0,0xffffffff,var_16[4],var_16[2]);
      if (var_16[9] == 1) {
        pnVar27 = (type_11 *)(*(int *)(var_4 + 0x67670) + 0x4724);
      }
      else if (var_16[9] == 2) {
        pnVar27 = (type_11 *)(*(int *)(var_4 + 0x67670) + 0x472c);
      }
      if (var_23 == 0) {
        (*var_28)(psVar25,var_3 + 0x48a4,pnVar27,var_8);
      }
      else {
        (*var_28)(psVar25,var_3 + 0x48a4,pnVar27,var_8);
LAB_000495e0:
        (**(type_13 **)(var_4 + 0x67698))(var_23);
      }
    }
    else {
      pnVar28 = pnVar30;
      pnVar29 = pnVar30;
      if ((type_11 *)var_16[7] != (type_11 *)0x0) {
        pnVar28 = (type_11 *)var_16[7];
        pnVar29 = (type_11 *)(*(int *)(var_4 + 0x67670) + 0x4720);
      }
      uVar14 = (**(type_13 **)(var_4 + 0x676cc))
                         (*(int *)(var_4 + 0x67670) + 0x4800,var_16[5],pnVar28,pnVar29);
      if (var_16[1] == 0x4c) {
        var_23 = (**(type_13 **)(var_4 + 0x67ca0))(var_16[5],var_16[3],var_16[4],var_16[2]);
        if (var_16[9] == 1) {
          pnVar27 = (type_11 *)(*(int *)(var_4 + 0x67670) + 0x4724);
          if (var_23 == 0) {
            var_13 = *(int *)(var_4 + 0x67670);
            goto LAB_00049828;
          }
        }
        else {
          if (var_16[9] == 2) {
            pnVar27 = (type_11 *)(*(int *)(var_4 + 0x67670) + 0x472c);
          }
          var_13 = *(int *)(var_4 + 0x67670);
          if (var_23 == 0) {
LAB_00049828:
            (*var_28)(psVar25,var_13 + 0x4870,pnVar27,var_8);
            goto LAB_00049208;
          }
        }
        (*var_28)(psVar25,*(int *)(var_4 + 0x67670) + 0x4870,pnVar27,var_8);
        goto LAB_000495e0;
      }
      if (var_16[1] == 0x44) goto LAB_0004945c;
      if (psVar25->rportfwds == (type_9 *)0x0) {
        if (psVar25->version == 1) {
          var_5 = (type_9 *)
                    (**(type_13 **)(var_4 + 0x67784))(*(int *)(var_4 + 0x67b2c) + -0x2cfc);
          psVar25->rportfwds = var_5;
        }
        else {
          var_5 = (type_9 *)
                    (**(type_13 **)(var_4 + 0x67784))(*(int *)(var_4 + 0x67b2c) + -0x2da0);
          psVar25->rportfwds = var_5;
        }
      }
      var_15 = (int *)(**(type_13 **)(var_4 + 0x676d0))(1,0x1c);
      var_13 = var_16[5];
      pcVar36 = *(type_13 **)(var_4 + 0x676d8);
      var_15[5] = 0;
      var_13 = (*pcVar36)(var_13);
      var_19 = var_16[3];
      var_12 = var_16[4];
      var_15[3] = var_13;
      var_15[1] = var_19;
      if (var_12 == 0) {
        var_13 = (**(type_13 **)(var_4 + 0x676fc))(pPVar5,0x9a);
        if (var_13 == 0) {
          var_13 = (**(type_13 **)(var_4 + 0x676d8))(*(int *)(var_4 + 0x67670) + 0x47e4);
          var_15[2] = var_13;
        }
        else {
          var_13 = (**(type_13 **)(var_4 + 0x676d8))(pnVar30);
          var_15[2] = var_13;
        }
      }
      else {
        var_13 = (**(type_13 **)(var_4 + 0x676d8))();
        var_15[2] = var_13;
      }
      pcVar36 = *(type_13 **)(var_4 + 0x6777c);
      var_5 = psVar25->rportfwds;
      *var_15 = var_16[2];
      var_24 = (int *)(*pcVar36)(var_5,var_15);
      if (var_15 == var_24) {
        (*var_28)(psVar25,*(int *)(var_4 + 0x67670) + 0x4838,var_8,uVar14);
        var_13 = psVar25->version;
        var_15[4] = var_8;
        var_16[8] = (int)var_15;
        var_15[6] = (int)var_16;
        if (var_13 != 1) {
          pPVar5 = var_25(0x50);
          var_21(pPVar5,(char *)(*(int *)(var_4 + 0x67670) + 0x4860));
          uStack_61 = 1;
                    /* WARNING: Subroutine does not return */
          var_22(pPVar5,&uStack_61,1);
        }
        var_8 = 0;
        function_1(psVar25,0x1c,1,var_16[2]);
        pnVar27 = (type_11 *)0xf;
        var_26(psVar25,0xe,0xf,(chandler_fn_t)(*(int *)(var_4 + 0x67b2c) + -0x2a68),
                          var_15);
      }
      else {
        pnVar27 = (type_11 *)var_16[5];
        (*var_28)(psVar25,*(int *)(var_4 + 0x67670) + 0x480c,pnVar27,var_16[3]);
        (**(type_13 **)(var_4 + 0x67698))(var_15);
      }
    }
LAB_00049208:
    (**(type_13 **)(var_4 + 0x67698))(var_8);
    (**(type_13 **)(var_4 + 0x67698))(uVar14);
  }
  pPVar31 = (type_3 *)((int)&pPVar31->length + 1);
  var_5 = psVar25->portfwds;
  pkt = pPVar31;
  var_16 = (int *)(**(type_13 **)(var_4 + 0x67790))();
  goto joined_r0x0004902c;
LAB_00049064:
  if (var_27 == *var_29) {
    return;
  }
  var_28 = *(type_13 **)(var_4 + 0x68158);
  pcVar36 = ssh_size;
  (*var_28)();
  pcStack_e8 = var_28 + 0x6e80c;
  var_30 = var_5[0x28].cmp;
  var_5[0x23].cmp = (type_5)pkt;
  var_5[0x24].root = pnVar27;
  var_29 = *(int **)(var_28 + 0x67358);
  var_31 = (type_1)*var_29;
  psStack_dc = var_31;
  pPStack_d8 = pPVar31;
  pnStack_d4 = pnVar30;
  uStack_d0 = var_8;
  psStack_cc = psVar25;
  uStack_c8 = uVar14;
  pcStack_c4 = pcVar36;
  if (var_30 == (type_5)0x2) {
    var_5[0x29].root = (type_11 *)0x1;
  }
  else if (var_30 == (type_5)0x3) {
    (**(type_13 **)(var_28 + 0x668d0))(var_5[0x49].root,0x16);
    return;
  }
  if (var_31 == (type_1)*var_29) {
    return;
  }
  var_28 = *(type_13 **)(var_28 + 0x6732c);
  pcVar36 = ssh1_msg_port_open;
  (*var_28)();
  var_16 = *(int **)(var_28 + 0x671a4);
  var_36 = *var_16;
  pPVar5 = pkt;
  ptStack_138 = var_5;
  piStack_134 = var_29;
  uStack_130 = var_8;
  psStack_12c = psVar25;
  uStack_128 = uVar14;
  piStack_124 = var_15;
  iStack_120 = var_10;
  pcStack_11c = pcVar36;
  uVar21 = var_32(pkt);
  var_33(pPVar5,&var_34,&iStack_160);
  uVar22 = var_32(pkt);
  if (var_34 == (char *)0x0) {
    var_34 = (char *)(*(int *)(var_28 + 0x66690) + 0x2d54);
  }
  psStack_14c = (type_1)
                (**(type_13 **)(var_28 + 0x666ec))
                          (*(int *)(var_28 + 0x66690) + 0x3218,iStack_160,var_34);
  uStack_154 = uVar22;
  var_3 = (**(type_13 **)(var_28 + 0x667c0))(var_31->rportfwds,auStack_158,0);
  if (var_3 == 0) {
    var_20(var_31,(char *)(*(int *)(var_28 + 0x66690) + 0x48e4),psStack_14c,uVar22);
  }
  else {
    psVar23 = (type_7 *)(**(type_13 **)(var_28 + 0x666f0))(1,0x5c);
    psVar23->ssh = var_31;
    var_20(var_31,(char *)(*(int *)(var_28 + 0x66690) + 0x4910),psStack_14c,uVar22);
    var_3 = (**(type_13 **)(var_28 + 0x66cac))
                      (&psVar23->u,psStack_14c,uVar22,psVar23,var_31->conf,
                       *(type_4 *)(*(int *)(var_3 + 0x18) + 0x24));
    if (var_3 == 0) {
      var_35(psVar23);
      psVar23->type = 3;
      psVar23->remoteid = uVar21;
      psVar23->halfopen = 0;
      function_1(var_31,0x15,1,uVar21,1,psVar23->localid,0);
      pPVar5 = (type_3 *)(*(int *)(var_28 + 0x66690) + 0x41e8);
      (**(type_13 **)(var_28 + 0x66714))(var_31->frontend);
      goto LAB_00049cac;
    }
    var_20(var_31,(char *)(*(int *)(var_28 + 0x66690) + 0x41d0),var_3);
    (**(type_13 **)(var_28 + 0x666b8))(var_3);
    (**(type_13 **)(var_28 + 0x666b8))(psVar23);
  }
  pPVar5 = (type_3 *)&DAT_00000016;
  function_1(var_31,0x16,1,uVar21,0);
LAB_00049cac:
  psVar25 = psStack_14c;
  (**(type_13 **)(var_28 + 0x666b8))();
  if (var_36 == *var_16) {
    return;
  }
  var_28 = *(type_13 **)(var_28 + 0x67178);
  (*var_28)();
  uVar21 = var_32(pPVar5);
  (**(type_13 **)(var_28 + 0x66468))(psVar25->frontend,*(int *)(var_28 + 0x663e4) + 0x493c);
  if (psVar25->X11_fwd_enabled == 0) {
    function_1(psVar25,0x16,1,uVar21,0);
                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_13 **)(var_28 + 0x66468))(psVar25->frontend,*(int *)(var_28 + 0x663e4) + 0x495c);
    return;
  }
  psVar23 = (type_7 *)(**(type_13 **)(var_28 + 0x66444))(1,0x5c);
  psVar23->ssh = psVar25;
  var_35(psVar23);
  pbVar24 = (type_8 *)
            (**(type_13 **)(var_28 + 0x669fc))(psVar25->x11authtree,psVar23,0,0xffffffff);
  (psVar23->u).a.inbuffer.head = pbVar24;
  psVar23->remoteid = uVar21;
  psVar23->halfopen = 0;
  psVar23->type = 1;
  function_1(psVar25,0x15,1,uVar21,1,psVar23->localid,0);
                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(type_13 **)(var_28 + 0x66468))(psVar25->frontend,*(int *)(var_28 + 0x663e4) + 0x4240);
  return;
}


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

void MASKED(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  bool bVar1;
  code *pcVar2;
  undefined *puVar3;
  int iVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  int ***pppiVar10;
  int ****ppppiVar11;
  int **ppiVar12;
  int ***pppiVar13;
  int ***pppiVar14;
  int ****ppppiVar15;
  int iVar16;
  int ****ppppiVar17;
  int iVar18;
  int iVar19;
  int ****ppppiVar20;
  char *pcVar21;
  int ****ppppiVar22;
  int ***unaff_s2;
  int ***pppiVar23;
  int iVar24;
  int *piVar25;
  undefined *puVar26;
  code *pcVar27;
  code *pcVar28;
  undefined4 local_res8;
  undefined4 local_resc;
  undefined4 uStack_160;
  int iStack_15c;
  undefined1 auStack_158 [4];
  undefined4 uStack_154;
  int iStack_14c;
  int iStack_13c;
  int iStack_138;
  int *piStack_134;
  int **ppiStack_130;
  int iStack_12c;
  int ***pppiStack_128;
  int ***pppiStack_124;
  int iStack_120;
  undefined4 uStack_11c;
  int iStack_108;
  undefined4 uStack_104;
  int iStack_100;
  undefined4 uStack_fc;
  int iStack_f8;
  undefined4 uStack_f4;
  undefined4 uStack_f0;
  code *pcStack_e8;
  int **ppiStack_e0;
  int iStack_dc;
  int **ppiStack_d8;
  int ***pppiStack_d4;
  int **ppiStack_d0;
  int iStack_cc;
  int ***pppiStack_c8;
  code *pcStack_c4;
  int ***pppiStack_b0;
  int ***pppiStack_ac;
  int ***pppiStack_a8;
  int *piStack_a4;
  undefined4 uStack_a0;
  undefined *puStack_98;
  undefined4 uStack_90;
  int ***pppiStack_8c;
  code *pcStack_88;
  int ***pppiStack_84;
  int iStack_80;
  int iStack_7c;
  code *pcStack_78;
  int *piStack_74;
  int iStack_70;
  int iStack_6c;
  undefined1 uStack_61;
  int ***pppiStack_60;
  int iStack_5c;
  undefined *puStack_58;
  int iStack_54;
  
  puVar3 = PTR___stack_chk_guard_000b0c9c;
  iVar4 = *(int *)PTR___stack_chk_guard_000b0c9c;
  local_res8 = param_3;
  local_resc = param_4;
  uVar5 = FUN_0003bbb8(param_2,&local_res8);
  iVar24 = param_1;
  FUN_00048968();
  if (iVar4 == *(int *)puVar3) {
    return;
  }
  puVar26 = PTR___stack_chk_fail_000b0c70;
  (*(code *)PTR___stack_chk_fail_000b0c70)();
  puStack_98 = puVar26 + 0x6f638;
  piStack_74 = *(int **)(puVar26 + 0x68184);
  puStack_58 = puVar3;
  iStack_5c = *piStack_74;
  iVar4 = *(int *)(iVar24 + 0x140);
  iVar19 = 0;
  uStack_90 = uVar5;
  iStack_54 = param_1;
  if (iVar4 == 0) {
    uVar5 = (**(code **)(puVar26 + 0x67784))(*(int *)(puVar26 + 0x67b2c) + -0x2c58);
    *(undefined4 *)(iVar24 + 0x140) = uVar5;
  }
  else {
    pcVar27 = *(code **)(puVar26 + 0x67790);
    while (puVar6 = (undefined4 *)(*pcVar27)(iVar4,iVar19), puVar6 != (undefined4 *)0x0) {
      iVar19 = iVar19 + 1;
      iVar4 = *(int *)(iVar24 + 0x140);
      *puVar6 = 0;
      pcVar27 = *(code **)(puStack_98 + -0x7ea8);
    }
  }
  pppiStack_84 = (int ***)&pppiStack_60;
  ppppiVar15 = (int ****)0x0;
  iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,0,pppiStack_84);
  if (iVar4 != 0) {
    pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x3218);
    iStack_70 = *(int *)(puStack_98 + -0x7fc8);
    pcStack_78 = (code *)(*(int *)(puStack_98 + -0x7c8c) + 0x6288);
    iStack_6c = *(int *)(puStack_98 + -0x7fc8);
    iStack_80 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;
    do {
      pppiVar23 = (int ***)(int)*(char *)pppiStack_60;
      if ((pppiVar23 == (int ***)0x41) || (((uint)pppiVar23 & 0xfffffffd) == 0x34)) {
        unaff_s2 = (int ***)(int)*(char *)((int)pppiStack_60 + 1);
        ppppiVar15 = (int ****)((int)pppiStack_60 + 1);
        if (unaff_s2 != (int ***)0x4c) goto LAB_00048d5c;
LAB_00048e9c:
        ppppiVar15 = (int ****)((int)ppppiVar15 + 1);
      }
      else {
        bVar1 = pppiVar23 == (int ***)0x4c;
        ppppiVar15 = (int ****)pppiStack_60;
        unaff_s2 = pppiVar23;
        pppiVar23 = (int ***)0x41;
        if (bVar1) goto LAB_00048e9c;
LAB_00048d5c:
        if (unaff_s2 == (int ***)0x52) goto LAB_00048e9c;
        unaff_s2 = (int ***)0x4c;
      }
      iVar19 = (**(code **)(puStack_98 + -0x7ed8))(ppppiVar15,0x3a);
      ppppiVar20 = ppppiVar15;
      if (iVar19 != 0) {
        ppppiVar20 = (int ****)(iVar19 + 1);
        uVar5 = (**(code **)(puStack_98 + -0x7f6c))
                          (pppiStack_8c,iVar19 - (int)ppppiVar15,ppppiVar15);
        iVar19 = (**(code **)(puStack_98 + -0x7b20))(uVar5);
        (**(code **)(puStack_98 + -0x7fa0))(uVar5);
      }
      iVar7 = (**(code **)(puStack_98 + -0x7668))(ppppiVar20,0,10);
      if (iVar7 == 0) {
        iVar7 = (**(code **)(puStack_98 + -0x799c))(ppppiVar20);
        if (iVar7 == 0) {
          (*pcStack_78)(iVar24,iStack_70 + 0x4734,ppppiVar20);
          pcStack_88 = (code *)0x1;
        }
        else {
          pcStack_88 = (code *)0x1;
        }
      }
      else {
        pcStack_88 = (code *)0x0;
      }
      if ((unaff_s2 == (int ***)0x4c) &&
         (iVar8 = (**(code **)(puStack_98 + -0x7478))(iVar4,*(int *)(puStack_98 + -0x7fc8) + 0x2e20)
         , iVar8 == 0)) {
        if (iVar7 == 0) {
          iVar4 = 0;
          iVar8 = iStack_7c;
LAB_00048e64:
          iStack_7c = iVar8;
          (**(code **)(puStack_98 + -0x7fa0))(iVar19);
          (**(code **)(puStack_98 + -0x7fa0))(iVar4);
        }
        else {
          iStack_7c = iVar8;
          piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);
          piVar9[4] = iVar19;
          piVar9[1] = 0x44;
          pcVar27 = (code *)0xffffffff;
          if (pcStack_88 != (code *)0x0) {
            iVar4 = 0;
            pcVar21 = (char *)0x0;
LAB_00049780:
            pcStack_88 = (code *)iStack_7c;
            iStack_7c = (int)pcVar27;
            iVar19 = (**(code **)(puStack_98 + -0x7f60))(ppppiVar20);
            piVar9[6] = iVar19;
            piVar9[2] = iVar7;
            piVar9[5] = iVar4;
            pcVar28 = pcStack_88;
            pcVar27 = (code *)iStack_7c;
            pcVar2 = pcStack_88;
            goto joined_r0x000497a8;
          }
          piVar9[6] = 0;
          iVar4 = 0;
          piVar9[2] = iVar7;
          piVar9[5] = 0;
LAB_00048c68:
          piVar9[7] = iVar4;
          piVar9[3] = (int)pcVar27;
          piVar9[10] = 0;
          piVar9[8] = 0;
          if (pppiVar23 != (int ***)0x34) goto LAB_00048c80;
LAB_00048f4c:
          pcVar27 = *(code **)(puStack_98 + -0x7ebc);
          uVar5 = *(undefined4 *)(iVar24 + 0x140);
          piVar9[9] = 1;
          piVar25 = (int *)(*pcVar27)(uVar5,piVar9);
          if (piVar9 != piVar25) goto LAB_00048cac;
LAB_00048f6c:
          *piVar9 = 2;
        }
      }
      else {
        iVar8 = (**(code **)(puStack_98 + -0x7d50))(iVar4,iStack_80);
        pcVar21 = (char *)(iVar4 + iVar8);
        iVar4 = (**(code **)(puStack_98 + -0x7f6c))(pppiStack_8c,iVar8,iVar4);
        if (*pcVar21 != '\0') {
          pcVar21 = pcVar21 + 1;
        }
        pcVar27 = (code *)(**(code **)(puStack_98 + -0x7668))(pcVar21,0,10);
        if (pcVar27 == (code *)0x0) {
          pcVar27 = (code *)(**(code **)(puStack_98 + -0x799c))(pcVar21);
          if (pcVar27 == (code *)0x0) {
            (*pcStack_78)(iVar24,iStack_6c + 0x4760,pcVar21);
            iVar8 = iStack_7c;
            goto LAB_00048e64;
          }
          iVar16 = 1;
          iVar8 = iStack_7c;
        }
        else {
          iVar16 = 0;
          iVar8 = iStack_7c;
        }
        iStack_7c = iVar16;
        if (iVar7 == 0) goto LAB_00048e64;
        piVar9 = (int *)(**(code **)(puStack_98 + -0x7f68))(1,0x2c);
        piVar9[1] = (int)unaff_s2;
        piVar9[4] = iVar19;
        if (pcStack_88 != (code *)0x0) goto LAB_00049780;
        piVar9[2] = iVar7;
        piVar9[5] = iVar4;
        piVar9[6] = 0;
        pcVar28 = (code *)0x0;
        pcVar2 = (code *)iStack_7c;
joined_r0x000497a8:
        pcStack_88 = pcVar27;
        if (pcVar2 != (code *)0x0) {
          iVar4 = (**(code **)(puStack_98 + -0x7f60))(pcVar21);
          pcVar27 = pcStack_88;
          goto LAB_00048c68;
        }
        piVar9[3] = (int)pcStack_88;
        piVar9[10] = 0;
        piVar9[7] = 0;
        piVar9[8] = 0;
        pcStack_88 = pcVar28;
        if (pppiVar23 == (int ***)0x34) goto LAB_00048f4c;
LAB_00048c80:
        iVar4 = 2;
        pcVar27 = *(code **)(puStack_98 + -0x7ebc);
        uVar5 = *(undefined4 *)(iVar24 + 0x140);
        if (pppiVar23 != (int ***)0x36) {
          iVar4 = 0;
        }
        piVar9[9] = iVar4;
        piVar25 = (int *)(*pcVar27)(uVar5,piVar9);
        if (piVar9 == piVar25) goto LAB_00048f6c;
LAB_00048cac:
        pcVar27 = *(code **)(puStack_98 + -0x7fa0);
        if (*piVar25 == 0) {
          *piVar25 = 1;
        }
        (*pcVar27)(piVar9[4]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);
        (**(code **)(puStack_98 + -0x7fa0))(piVar9);
      }
      ppppiVar15 = (int ****)pppiStack_60;
      iVar4 = (**(code **)(puStack_98 + -0x7be8))(uStack_90,0x9b,pppiStack_60,pppiStack_84);
    } while (iVar4 != 0);
  }
  iVar4 = 0;
  iVar7 = *(int *)(puStack_98 + -0x7fc8);
  pppiStack_8c = (int ***)(*(int *)(puStack_98 + -0x7b0c) + -0x63f8);
  iVar19 = *(int *)(puStack_98 + -0x7fc8);
  pcStack_88 = (code *)(*(int *)(puStack_98 + -0x7b0c) + -0x5a14);
  do {
    piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);
    while( true ) {
      if (piVar9 == (int *)0x0) {
        pcStack_88 = *(code **)(puStack_98 + -0x7fc8);
        pppiVar23 = (int ***)0x0;
        ppppiVar20 = *(int *****)(puStack_98 + -0x7c8c);
        pppiVar13 = (int ***)0x0;
        iVar4 = *(int *)(iVar24 + 0x140);
        iVar7 = *(int *)(puStack_98 + -0x7fc8);
        iVar19 = *(int *)(puStack_98 + -0x7fc8);
        pppiStack_8c = (int ***)(ppppiVar20 + 0x18a2);
        ppppiVar22 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x2d54);
        pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();
        ppppiVar11 = (int ****)0x0;
        goto joined_r0x0004902c;
      }
      if (*piVar9 == 0) break;
      iVar4 = iVar4 + 1;
      piVar9 = (int *)(**(code **)(puStack_98 + -0x7ea8))(*(undefined4 *)(iVar24 + 0x140),iVar4);
    }
    if (piVar9[1] == 0x4c) {
      iVar16 = piVar9[4];
      iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4708;
      if (iVar16 == 0) goto LAB_0004942c;
LAB_00049258:
      iVar18 = *(int *)(puStack_98 + -0x7fc8) + 0x28a0;
    }
    else {
      if (piVar9[1] == 0x52) {
        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4710;
      }
      else {
        iVar8 = *(int *)(puStack_98 + -0x7fc8) + 0x4718;
      }
      iVar16 = piVar9[4];
      if (iVar16 != 0) goto LAB_00049258;
LAB_0004942c:
      iVar16 = *(int *)(puStack_98 + -0x7fc8) + 0x2d54;
      iVar18 = iVar16;
    }
    pppiStack_b0 = (int ***)piVar9[2];
    ppppiVar15 = (int ****)(**(code **)(puStack_98 + -0x7f6c))(iVar7 + 0x4790,iVar8,iVar16,iVar18);
    ppppiVar20 = ppppiVar15;
    if (piVar9[1] != 0x44) {
      ppppiVar20 = (int ****)
                   (**(code **)(puStack_98 + -0x7f6c))
                             (*(int *)(puStack_98 + -0x7fc8) + 0x47b0,ppppiVar15,piVar9[5],piVar9[3]
                             );
      (**(code **)(puStack_98 + -0x7fa0))(ppppiVar15);
    }
    ppppiVar15 = ppppiVar20;
    FUN_00036288(iVar24,iVar19 + 0x47bc);
    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);
    iVar8 = piVar9[8];
    if (iVar8 == 0) {
      if (piVar9[10] != 0) {
        (**(code **)(puStack_98 + -0x7dcc))();
      }
    }
    else {
      pcVar27 = *(code **)(puStack_98 + -0x7eb8);
      if (*(int *)(iVar24 + 0x198) != 1) {
        unaff_s2 = (int ***)(*pcStack_88)(0x50);
        FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47cc);
        ppppiVar15 = (int ****)0x1;
        uStack_61 = 0;
        FUN_0003a494(unaff_s2,&uStack_61);
        if (piVar9[4] == 0) {
          iVar16 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);
          if (iVar16 == 0) {
            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x47e4);
          }
          else {
            FUN_0003a7dc(unaff_s2,*(int *)(puStack_98 + -0x7fc8) + 0x2d54);
          }
        }
        else {
          FUN_0003a7dc(unaff_s2);
        }
        FUN_0003a76c(unaff_s2,piVar9[2]);
        FUN_00045998(iVar24,unaff_s2);
        pcVar27 = *(code **)(puStack_98 + -0x7eb8);
      }
      (*pcVar27)(*(undefined4 *)(iVar24 + 0x13c),iVar8);
      (*(code *)pppiStack_8c)(iVar8);
    }
    (**(code **)(puStack_98 + -0x7ec0))(*(undefined4 *)(iVar24 + 0x140),iVar4);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[4]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[5]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[6]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9[7]);
    (**(code **)(puStack_98 + -0x7fa0))(piVar9);
  } while( true );
joined_r0x0004902c:
  if (pppiVar10 == (int ***)0x0) goto LAB_00049064;
  if (*pppiVar10 == (int **)0x2) {
    ppppiVar15 = ppppiVar22;
    ppppiVar11 = ppppiVar22;
    if ((int ****)pppiVar10[4] != (int ****)0x0) {
      ppppiVar15 = (int ****)pppiVar10[4];
      ppppiVar11 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x28a0);
    }
    pppiStack_ac = (int ***)pppiVar10[2];
    pppiStack_b0 = (int ***)ppppiVar22;
    ppppiVar17 = ppppiVar22;
    pppiStack_a8 = (int ***)ppppiVar22;
    if ((int ****)pppiVar10[6] != (int ****)0x0) {
      pppiStack_b0 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);
      ppppiVar17 = (int ****)pppiVar10[6];
      pppiStack_a8 = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);
    }
    unaff_s2 = (int ***)(**(code **)(puStack_98 + -0x7f6c))
                                  (iVar19 + 0x47f0,ppppiVar15,ppppiVar11,ppppiVar17);
    ppppiVar15 = ppppiVar22;
    if (pppiVar10[1] == (int **)0x44) {
      ppppiVar11 = (int ****)0x0;
LAB_0004945c:
      piStack_a4 = (int *)pppiVar10[9];
      pppiStack_a8 = pppiVar10 + 10;
      pppiStack_ac = (int ***)uStack_90;
      pppiStack_b0 = (int ***)iVar24;
      pppiStack_ac = (int ***)(**(code **)(puStack_98 + -0x7998))
                                        (0,0xffffffff,pppiVar10[4],pppiVar10[2]);
      if (pppiVar10[9] == (int **)0x1) {
        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);
      }
      else if (pppiVar10[9] == (int **)0x2) {
        ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);
      }
      if ((int ****)pppiStack_ac == (int ****)0x0) {
        pppiStack_b0 = (int ***)ppppiVar22;
        pppiStack_ac = (int ***)ppppiVar22;
        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);
      }
      else {
        pppiStack_b0 = (int ***)(iVar7 + 0x4898);
        pppiStack_84 = pppiStack_ac;
        (*(code *)pppiStack_8c)(iVar24,(int)pcStack_88 + 0x48a4,ppppiVar15,unaff_s2);
LAB_000495e0:
        (**(code **)(puStack_98 + -0x7fa0))(pppiStack_84);
      }
    }
    else {
      pppiStack_b0 = (int ***)pppiVar10[3];
      pppiStack_ac = (int ***)ppppiVar22;
      ppppiVar11 = ppppiVar22;
      ppppiVar17 = ppppiVar22;
      if ((int ****)pppiVar10[7] != (int ****)0x0) {
        pppiStack_ac = (int ***)(*(int *)(puStack_98 + -0x7fc8) + 0x45b8);
        ppppiVar11 = (int ****)pppiVar10[7];
        ppppiVar17 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4720);
      }
      ppppiVar11 = (int ****)
                   (**(code **)(puStack_98 + -0x7f6c))
                             (*(int *)(puStack_98 + -0x7fc8) + 0x4800,pppiVar10[5],ppppiVar11,
                              ppppiVar17);
      if (pppiVar10[1] == (int **)0x4c) {
        piStack_a4 = (int *)pppiVar10[9];
        pppiStack_a8 = pppiVar10 + 10;
        pppiStack_ac = (int ***)uStack_90;
        pppiStack_b0 = (int ***)iVar24;
        pppiStack_a8 = (int ***)(**(code **)(puStack_98 + -0x7998))
                                          (pppiVar10[5],pppiVar10[3],pppiVar10[4],pppiVar10[2]);
        pppiStack_b0 = (int ***)ppppiVar11;
        if (pppiVar10[9] == (int **)0x1) {
          ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x4724);
          if ((int ****)pppiStack_a8 == (int ****)0x0) {
            iVar4 = *(int *)(puStack_98 + -0x7fc8);
            goto LAB_00049828;
          }
        }
        else {
          if (pppiVar10[9] == (int **)0x2) {
            ppppiVar15 = (int ****)(*(int *)(puStack_98 + -0x7fc8) + 0x472c);
          }
          iVar4 = *(int *)(puStack_98 + -0x7fc8);
          if ((int ****)pppiStack_a8 == (int ****)0x0) {
LAB_00049828:
            pppiStack_ac = (int ***)ppppiVar22;
            pppiStack_a8 = (int ***)ppppiVar22;
            (*(code *)pppiStack_8c)(iVar24,iVar4 + 0x4870,ppppiVar15,unaff_s2);
            goto LAB_00049208;
          }
        }
        pppiStack_ac = (int ***)(iVar7 + 0x4898);
        pppiStack_84 = pppiStack_a8;
        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4870,ppppiVar15,unaff_s2);
        goto LAB_000495e0;
      }
      if (pppiVar10[1] == (int **)0x44) goto LAB_0004945c;
      if (*(int *)(iVar24 + 0x13c) == 0) {
        if (*(int *)(iVar24 + 0x198) == 1) {
          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2cfc);
          *(undefined4 *)(iVar24 + 0x13c) = uVar5;
        }
        else {
          uVar5 = (**(code **)(puStack_98 + -0x7eb4))(*(int *)(puStack_98 + -0x7b0c) + -0x2da0);
          *(undefined4 *)(iVar24 + 0x13c) = uVar5;
        }
      }
      ppppiVar20 = (int ****)(**(code **)(puStack_98 + -0x7f68))(1,0x1c);
      ppiVar12 = pppiVar10[5];
      pcVar27 = *(code **)(puStack_98 + -0x7f60);
      ppppiVar20[5] = (int ***)0x0;
      pppiVar13 = (int ***)(*pcVar27)(ppiVar12);
      pppiVar14 = (int ***)pppiVar10[3];
      ppiVar12 = pppiVar10[4];
      ppppiVar20[3] = pppiVar13;
      ppppiVar20[1] = pppiVar14;
      if (ppiVar12 == (int **)0x0) {
        iVar4 = (**(code **)(puStack_98 + -0x7f3c))(uStack_90,0x9a);
        if (iVar4 == 0) {
          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))
                                         (*(int *)(puStack_98 + -0x7fc8) + 0x47e4);
          ppppiVar20[2] = pppiVar13;
        }
        else {
          pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))(ppppiVar22);
          ppppiVar20[2] = pppiVar13;
        }
      }
      else {
        pppiVar13 = (int ***)(**(code **)(puStack_98 + -0x7f60))();
        ppppiVar20[2] = pppiVar13;
      }
      pcVar27 = *(code **)(puStack_98 + -0x7ebc);
      uVar5 = *(undefined4 *)(iVar24 + 0x13c);
      *ppppiVar20 = (int ***)pppiVar10[2];
      ppppiVar15 = (int ****)(*pcVar27)(uVar5,ppppiVar20);
      if (ppppiVar20 == ppppiVar15) {
        (*(code *)pppiStack_8c)(iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x4838,unaff_s2,ppppiVar11);
        ppppiVar15 = *(int *****)(iVar24 + 0x198);
        ppppiVar20[4] = unaff_s2;
        pppiVar10[8] = (int **)ppppiVar20;
        ppppiVar20[6] = pppiVar10;
        if (ppppiVar15 == (int ****)0x1) {
          uStack_a0 = 0;
          piStack_a4 = (int *)pppiVar10[3];
          unaff_s2 = (int ***)0x0;
          pppiStack_ac = (int ***)pppiVar10[5];
          pppiStack_b0 = (int ***)0x4;
          pppiStack_a8 = (int ***)ppppiVar15;
          MASKED(iVar24,0x1c,1,pppiVar10[2]);
          ppppiVar15 = (int ****)0xf;
          pppiStack_b0 = (int ***)ppppiVar20;
          FUN_000365c8(iVar24,0xe,0xf,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);
        }
        else {
          uVar5 = FUN_0003a5ec(0x50);
          FUN_0003a7dc(uVar5,*(int *)(puStack_98 + -0x7fc8) + 0x4860);
          uStack_61 = 1;
          FUN_0003a494(uVar5,&uStack_61,1);
          FUN_0003a7dc(uVar5,ppppiVar20[2]);
          FUN_0003a76c(uVar5,*ppppiVar20);
          unaff_s2 = (int ***)0x0;
          FUN_00045998(iVar24,uVar5);
          ppppiVar15 = (int ****)0x52;
          pppiStack_b0 = (int ***)ppppiVar20;
          FUN_000365c8(iVar24,0x51,0x52,*(int *)(puStack_98 + -0x7b0c) + -0x2a68);
        }
      }
      else {
        ppppiVar15 = (int ****)pppiVar10[5];
        (*(code *)pppiStack_8c)
                  (iVar24,*(int *)(puStack_98 + -0x7fc8) + 0x480c,ppppiVar15,pppiVar10[3]);
        (**(code **)(puStack_98 + -0x7fa0))(ppppiVar20);
      }
    }
LAB_00049208:
    (**(code **)(puStack_98 + -0x7fa0))(unaff_s2);
    (**(code **)(puStack_98 + -0x7fa0))(ppppiVar11);
  }
  pppiVar23 = (int ***)((int)pppiVar23 + 1);
  iVar4 = *(int *)(iVar24 + 0x140);
  pppiVar13 = pppiVar23;
  pppiVar10 = (int ***)(**(code **)(puStack_98 + -0x7ea8))();
  goto joined_r0x0004902c;
LAB_00049064:
  if (iStack_5c == *piStack_74) {
    return;
  }
  pcVar27 = *(code **)(puStack_98 + -0x74e0);
  pcVar28 = FUN_00049944;
  (*pcVar27)();
  pcStack_e8 = pcVar27 + 0x6e80c;
  *(int ****)(iVar4 + 0x11c) = pppiVar13;
  *(int *****)(iVar4 + 0x120) = ppppiVar15;
  piVar9 = *(int **)(pcVar27 + 0x67358);
  iVar7 = *piVar9;
  iStack_dc = iVar7;
  ppiStack_d8 = (int **)pppiVar23;
  pppiStack_d4 = (int ***)ppppiVar22;
  ppiStack_d0 = (int **)unaff_s2;
  iStack_cc = iVar24;
  pppiStack_c8 = (int ***)ppppiVar11;
  pcStack_c4 = pcVar28;
  if (*(int *)(iVar4 + 0x144) == 2) {
    *(undefined4 *)(iVar4 + 0x148) = 1;
  }
  else if (*(int *)(iVar4 + 0x144) == 3) {
    pppiVar13 = (int ***)0x16;
    iVar7 = *(int *)(iVar4 + 0x248);
    iVar8 = (**(code **)(pcVar27 + 0x668d0))(iVar7,0x16);
    if (iVar8 == 0) {
      iVar8 = *(int *)(iVar4 + 0x198);
      if (iVar8 == 1) {
        uStack_104 = *(undefined4 *)(iVar4 + 0x11c);
        pppiVar13 = (int ***)0xb;
        uStack_f0 = 0;
        uStack_f4 = 0;
        uStack_fc = 0;
        iVar7 = iVar4;
        iStack_108 = iVar8;
        iStack_100 = iVar8;
        iStack_f8 = iVar8;
        MASKED(iVar4,0xb,1,*(undefined4 *)(iVar4 + 0x120));
      }
      else {
        iVar7 = *(int *)(iVar4 + 0x128);
        pppiVar13 = *(int ****)(pcStack_e8 + -0x7fc8);
        if (iVar7 != 0) {
          ppppiVar11 = (int ****)&ppiStack_e0;
          unaff_s2 = (int ***)FUN_0003b920(iVar7,pppiVar13 + 0x1235,0,0);
          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x11c));
          FUN_0003a76c(unaff_s2,*(undefined4 *)(iVar4 + 0x120));
          iVar24 = *(int *)(pcStack_e8 + -0x7b0c) + -0x5b6c;
          ppiStack_e0 = (int **)0x0;
          FUN_0003a494(unaff_s2,ppppiVar11,4);
          ppiStack_e0 = (int **)0x0;
          FUN_0003a494(unaff_s2,ppppiVar11,4);
          iVar7 = iVar4;
          pppiVar13 = unaff_s2;
          FUN_00045998(iVar4,unaff_s2);
        }
      }
    }
  }
  if (iStack_dc == *piVar9) {
    return;
  }
  pcVar27 = *(code **)(pcStack_e8 + -0x74e0);
  uVar5 = 0x49af8;
  (*pcVar27)();
  piVar25 = *(int **)(pcVar27 + 0x671a4);
  iStack_13c = *piVar25;
  iStack_138 = iVar4;
  piStack_134 = piVar9;
  ppiStack_130 = (int **)unaff_s2;
  iStack_12c = iVar24;
  pppiStack_128 = (int ***)ppppiVar11;
  pppiStack_124 = (int ***)ppppiVar20;
  iStack_120 = iVar19;
  uStack_11c = uVar5;
  iVar24 = FUN_00036188(pppiVar13);
  FUN_00036ca4();
  uVar5 = FUN_00036188(pppiVar13);
  if (iStack_15c == 0) {
    iStack_15c = *(int *)(pcVar27 + 0x66690) + 0x2d54;
  }
  iStack_14c = (**(code **)(pcVar27 + 0x666ec))
                         (*(int *)(pcVar27 + 0x66690) + 0x3218,uStack_160,iStack_15c);
  uStack_154 = uVar5;
  iVar4 = (**(code **)(pcVar27 + 0x667c0))(*(undefined4 *)(iVar7 + 0x13c),auStack_158,0);
  if (iVar4 == 0) {
    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x48e4,iStack_14c,uVar5);
  }
  else {
    piVar9 = (int *)(**(code **)(pcVar27 + 0x666f0))(1,0x5c);
    *piVar9 = iVar7;
    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x4910,iStack_14c,uVar5);
    iVar4 = (**(code **)(pcVar27 + 0x66cac))
                      (piVar9 + 0x13,iStack_14c,uVar5,piVar9,*(undefined4 *)(iVar7 + 0x248),
                       *(undefined4 *)(*(int *)(iVar4 + 0x18) + 0x24));
    if (iVar4 == 0) {
      FUN_0003d798(piVar9);
      piVar9[3] = 3;
      piVar9[1] = iVar24;
      piVar9[4] = 0;
      MASKED(iVar7,0x15,1,iVar24,1,piVar9[2],0);
      iVar4 = *(int *)(pcVar27 + 0x66690) + 0x41e8;
      (**(code **)(pcVar27 + 0x66714))(*(undefined4 *)(iVar7 + 0x110),iVar4);
      goto LAB_00049cac;
    }
    FUN_00036288(iVar7,*(int *)(pcVar27 + 0x66690) + 0x41d0,iVar4);
    (**(code **)(pcVar27 + 0x666b8))(iVar4);
    (**(code **)(pcVar27 + 0x666b8))(piVar9);
  }
  iVar4 = 0x16;
  MASKED(iVar7,0x16,1,iVar24,0);
LAB_00049cac:
  iVar24 = iStack_14c;
  (**(code **)(pcVar27 + 0x666b8))();
  if (iStack_13c == *piVar25) {
    return;
  }
  pcVar27 = *(code **)(pcVar27 + 0x67178);
  (*pcVar27)();
  iVar4 = FUN_00036188(iVar4);
  (**(code **)(pcVar27 + 0x66468))
            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x493c);
  if (*(int *)(iVar24 + 0x4c) == 0) {
    MASKED(iVar24,0x16,1,iVar4,0);
                    /* WARNING: Could not recover jumptable at 0x00049e48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar27 + 0x66468))
              (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x495c);
    return;
  }
  piVar9 = (int *)(**(code **)(pcVar27 + 0x66444))(1,0x5c);
  *piVar9 = iVar24;
  FUN_0003d798(piVar9);
  iVar19 = (**(code **)(pcVar27 + 0x669fc))(*(undefined4 *)(iVar24 + 0x194),piVar9,0,0xffffffff);
  piVar9[0x13] = iVar19;
  piVar9[1] = iVar4;
  piVar9[4] = 0;
  piVar9[3] = 1;
  MASKED(iVar24,0x15,1,iVar4,1,piVar9[2],0);
                    /* WARNING: Could not recover jumptable at 0x00049f00. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(pcVar27 + 0x66468))
            (*(undefined4 *)(iVar24 + 0x110),*(int *)(pcVar27 + 0x663e4) + 0x4240);
  return;
}

